0
このコードブロックは、ifテストが成功し、管理オブジェクトの連絡先にすべてのフィールドがnil以外の値に設定されていて、特定のcontact.facebookに値があるため、appURLを設定しようとすると失敗しますアンラップしようとしている間に何も見つかりませんでしたか?フィールドの値は確認されていますが、まだアンラップエラーが発生しますか?
このコードブロックは、ifテストが成功し、管理オブジェクトの連絡先にすべてのフィールドがnil以外の値に設定されていて、特定のcontact.facebookに値があるため、appURLを設定しようとすると失敗しますアンラップしようとしている間に何も見つかりませんでしたか?フィールドの値は確認されていますが、まだアンラップエラーが発生しますか?
私のようなより良い方法でそれを行うことをお勧め:私は、これは後でunwraping値を強制nil
チェックを行うとしないように、より良いクリーンな方法になると思い
func openFacebook() {
if let contact = contact.facebook where contact != "" {
// build url to users facebook page
let appURL = NSURL(string: String(format: "fb://profile=%@", contact))!
// build url to user page on facebook web site
let webURL = NSURL(string: String(format: "http://www.facebook.com/%@", contact))!
openURL(appURL, webURL: webURL)
}
}
。
contact.facebookは何を返しますか? let constructを使って、値を安全にラップすることができます。 – Sahil
このエラーを見つけようとしたあと、contact.facebookにリテラル値のスペースがあり、NSURLがぐらつきを放っていたからです。今すぐ正規表現を使用するコードを変更する! – Piginhat
問題が見つかった場合はそれが良いです。 – Sahil