2016-09-20 10 views
0

私はSwiftを使って簡単なiOSアプリケーションを構築し、ユーザーが事前に設定した番号にダイヤルできるようにボタンを作成しようとしました。以下は電話をかける

私は、次のしてきたが、Xcodeのエラーが表示されているドキュメントから、正しい表示されます私は現在の場所に持っているコードです:私は「ときにエラーが表示されている行がある

Variable used within its own initial value'

UIApplicationを呼び出そうとしています。

@IBAction func contact_number_button(_ sender: AnyObject) { 
    let contact_number = "XXXXXXXXXXXXXX" 
    let phoneURL = NSURL(string: "tel://\(contact_number)") { 
    UIApplication.sharedApplication().openURL(phoneURL) 
} 
+0

デバイスでテストしていますか? –

+0

こんにちは、私はシミュレータ内でそれをテストしようとしませんでした。今、私はエラーを提示しているXcodeです。ありがとう! –

答えて

0

phoneURLは、このように利用できるかどうかをチェックする必要があります

if let phoneURL = NSURL(string: "tel://\(contact_number)") { 
    UIApplication.sharedApplication().openURL(phoneURL) 
} 

ではなく、良い練習にOptional Chaining as an Alternative to Forced Unwrapping

0

で第2版を見てみるようにしてください:

@IBAction func contact_number_button(_ sender: AnyObject) { 
    let contact_number = "XXXXXXXXXXXXXX" 
    if let phoneURL = NSURL(string: "tel://\(contact_number)") { 
     UIApplication.sharedApplication().openURL(phoneURL) 
    } 
} 

アンラップ付きエディション(オプション):

私はこれを試してみてください、あなたが持っている問題は、開かれたブレースであると信じて:

@IBAction func contact_number_button(_ sender: AnyObject) { 
    let contact_number = "XXXXXXXXXXXXXX" 
    let phoneURL = NSURL(string: "tel://\(contact_number)") 
    UIApplication.sharedApplication().openURL(phoneURL!) 
} 
+1

phoneURLがオプションであるため、Nop youre codeは実行されません –

+0

アンラップされたオプションの – tonik12

+1

で編集されました。そのようなアンラッピングを強制するのは悪い習慣です –

1
if let phoneCallURL:NSURL = NSURL(string:"tel://\(contact_number)") { 
    let application:UIApplication = UIApplication.sharedApplication() 
if (application.canOpenURL(phoneCallURL)) { 
    application.openURL(phoneCallURL); 
    } 
} 
0

は、あなたの助けのすべてのためにありがとうございました!

ここでの答えのすべてが私を解決に導いてくれました。私は文字通り間違った週を選んで、スウィフトでコードを教え始めて、一緒にコードを書くようになったと思います! XCode 8.0は、iOS10の特定のコマンドが償却されたことを伝え続けています。その1つはopenURLコマンドです。以下は、私のiPhone 6S(iOS 10)を使用してあらかじめ設定された番号への通話を可能にするコードです。 XcodeはまだopenURLのコマンドが減価償却されていると私に伝えていますが、動作しています。以下が間違っている場合や、より良い方法がある場合は、自由に修正してください!すべてありがとう!これは私の初めての投稿であり、あなたのサポートは素晴らしいです!

               @IBAction func contact_number_button(_ sender: AnyObject) {   
    let contact_number = "XXXXXXXXXXXXXXX" 
    if let phoneURL = NSURL(string: "tel://\(contact_number)"){ 
    UIApplication.shared.openURL(phoneURL as URL) 

    } 
} 
関連する問題