2016-09-15 3 views
0

に格納すると整数がオーバーフローします。xcode 8では、アーカイブしようとするとエラーが発生します。これはコードです:'Int Phone Number

私はこのエラーを取得しています「...許可すれば」で始まる行で
@IBAction func dialNumber(_ sender: AnyObject) { 

    if let url = URL(string: "tel://\(8708382937)") { 
     UIApplication.shared.open(url, options: [:], completionHandler: nil) 
    } 
} 

整数リテラル「8708382937」オーバーフロー "をint型

答えて

4

これは予期された正しいエラーです。あなたはなぜ番号を\()に入れていますか?それはSwiftと評価されます。スウィフトは文字通りの数字なのでIntに収まるには大きすぎます。

"tel://8708382937" 

以上の分別:あなたはほぼ確実にこのことを意味

"tel:8708382937" 

(スラッシュは、特にHTTPのURL・スキームの一部である彼らは、URLとdo not belong on tel URLsの一般的な部分ではない。)。

+0

ありがとうございました!私はあなたに私の間違いを示す時間をとっていただきありがとうございます。 – James

0

に保存した場合URLに文字列リテラルを使用するだけの理由はありません。

if let url = URL(string: "tel://8708382937") { 
    UIApplication.shared.open(url, options: [:], completionHandler: nil) 
}