2011-04-12 66 views
9

根據iOS的Using and Creating Error Objects,可以使用以下代碼顯示錯誤對象。iOS SDK中的NSAlert.h在哪裏?

NSError *theError = nil; 
BOOL success = [myDoc writeToURL:[self docURL] ofType:@"html" error:&theError]; 

if (success == NO) { 
    // Maybe try to determine cause of error and recover first. 
    NSAlert *theAlert = [NSAlert alertWithError:theError]; 
    [theAlert runModal]; // Ignore return value. 
} 

不幸的是,我不夠聰明想弄清楚如何包括NSAlert.h

任何幫助,將不勝感激。

+0

僅供參考:由於iOS 8 UIAlertController取代UIAlertView和UIActionSheet。 – 2015-08-28 22:25:58

回答

15

該文檔指的是(OS X)AppKit框架。那個盒子之後,它說:

(UIAlertView, the UIKit class corresponding to NSAlert, has no equivalent method for alertWithError:.)

,您仍然可以使用UIAlertView,但你需要手動填充從錯誤標題,消息和按鈕的字符串。

+5

謝謝。爲什麼蘋果公司做這個廢話?它對一個學習Cocoa Touch的人很有幫助。 – jww 2011-04-12 15:54:31

5

NSAlert在UIKit中不可用。這個例子僅僅是OS X doc的複製過去。

This code in Listing 2-1 uses the returned NSError to display an error alert to the user immediately. (UIAlertView, the UIKit class corresponding to NSAlert, has no equivalent method for alertWithError:.) Error objects in the Cocoa domain are always localized and ready to present to users, so they can often be presented without further evaluation.

+3

謝謝。爲什麼蘋果公司做這個廢話?它對一個學習Cocoa Touch的人很有幫助。 (丹尼爾得到了綠色支票,因爲他是第一個回答 - 我寧願給你們兩個信貸)。 – jww 2011-04-12 15:54:02

+0

沒有問題,先到先得。但是,這個文檔有時候有點矛盾。大多數iOS特定的文檔都非常好,但有些關於Objective-C的一般文檔更多地被OSX拖累。 – rckoenes 2011-04-13 09:17:52

-5

它在AppKit框架中。 NSAlert

導入框架Xcode中的項目,然後用#include指令在你的代碼的頂部

也有使用NSAlert的一些樣品,如果你去到該頁面,並期待在「示例代碼「。我總是這樣做,如果我不確定新框架的任何部分

+6

appkit在iOS上不可用 – 2011-04-12 15:17:19