[英]NSURL Error in XCode 8.2.1
初學者警告! 請像我 5 歲的孩子一樣跟我說話,因為我是這個平台和語言的新手。 我會心存感激,不會被冒犯。
我的 Xcode 項目中有以下代碼,用於通過應用主頁上的按鈕在本機瀏覽器中打開網站:
@IBAction func faceURL(_ sender: Any) {
NSURL *spotiURL = [NSURL URLWithString:@"https://www.facebook.com"];
[[UIApplication sharedApplication] openURL:faceURL options:@{} completionHandler:^(BOOL success) {
if (success){
NSLog(@"Opened url");
}
}];
}
在線上:
NSURL *spotiURL = [NSURL URLWithString:@"https://www.facebook.com"];
它拋出以下錯誤:
需要“,”分隔符 一行中的連續語句必須用“;”分隔
它建議放置一個;
URL 前的冒號和@
符號之間。 我知道其中一些已被新的 Xcode 和 Swift 格式棄用,但我找不到針對此特定問題的直接答案。 預先感謝您的智慧。
更新
感謝為此提供幫助的人們。 萬一其他人遇到此問題,以下是最終用於觸摸按鈕並在本機瀏覽器中打開 URL 的代碼:
@available(iOS 10.0, *)
@IBAction func openURL(_ sender: Any) {
let openURL = URL(string: "https://www.facebook.com")
UIApplication.shared.open(openURL!, options: [:], completionHandler: nil)
}
我還必須刪除 ViewController 中的原始按鈕和相應的引用,替換該按鈕,並與 ViewController 建立新的連接以使其工作。 非常感謝!
看起來您正在嘗試在 Swift 方法中使用 Objective C 代碼。 如果您的項目是用 Swift 編寫的,那么這(可能)就是您需要的代碼:
@IBAction func faceURL(_ sender: Any) {
if let facebookURL = URL(string: "https://www.facebook.com")
{
UIApplication.shared.openURL(facebookURL) // the open method you were using doesn't exist in Swift
}
}
我建議你通過一些教程來學習 iOS 開發的基礎知識。
第一:你在openURL
有faceURL
當它應該是spotiURL
。
第二:您的意思是將從 SO 復制的代碼從 Obj-C 轉換為 Swift,我將為您做:)
let spotiURL = URL(string: "https://www.facebook.com")
UIApplication.shared.openURL(spotiURL!)
好吧,您正在混合使用 Swift(第一行)和 ObjC(所有其他)語法,因此您必須首先選擇其中一個。 順便說一句,您的“混合”代碼看起來不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.