我有這個NSURL像這樣:的Objective-C,如果NSURL失敗,則顯示UIAlertView中
NSURL *url = [NSURL URLWithString:@"http://jamessuske.com/isthedomeopen/isthedomeopenGetData.php"];
,當我連接到互聯網,它工作正常。但如果我不是(或者如果用戶沒有信號),我想要出現一個UIAlertView
。我嘗試了下面的代碼(有和沒有if語句),但我的應用程序崩潰。
if(!url){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test Message"
message:@"This is a test"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
我做錯了什麼?
我的意思是崩潰,我的意思是我的應用程序打開,並沒有從網址獲取數據。我沒有看到任何錯誤,我只是得到帶到一個頁面,這個熒光筆:
Thread 6
com.app.root.default-priority
- 0 ucol_getVersion
在它旁邊是這樣的窗口在突出顯示
0x17bbd32: movl 204(%ecx), %edx Thread 6: EXC_BAD_ACCESS (code=2 address=0xcc)
在哪一行你會崩潰?什麼樣的代碼的崩潰? – stosha
您需要向我們展示更多代碼。 'NSURL'是表示URL的類。它不會嘗試任何形式的網絡連接,除非您專門要求使用專用API。因此,如果用戶恰好處於離線狀態,則不會返回「nil」。很明顯,你的代碼會繼續對有問題的URL做些什麼;請給我們詳細的代碼 –