2010-06-08 21 views
1

我必須這樣做嗎?NSError的-localizedDescription是否返回實際的本地化字符串,還是返回NSLocalizedString的鍵?

NSString *errorDescription = [error localizedDescription]; 
NSString *errorInfoStr = NSLocalizedString(errorDescription, nil); 

還是我使用NSLocalizedString已經與NSLocalizedDescriptionKey鍵和值填充用戶信息字典時?所以這個值實際上並不是NSLocalizedString的關鍵字,但它是準備在屏幕上顯示的實際本地化字符串?

回答

1

好文檔說

返回包含錯誤的本地化描述字符串。

所以該方法應該返回一個準備好顯示給用戶的字符串。由iPhone SDK函數返回的NSError對象包含人類可讀的字符串,因此您應該這樣做。

如果您要本地化自己的錯誤消息,則在構建NSError時(即在userInfo中設置NSLocalizedDescriptionKey鍵的值時)應該使用NSLocalizedString

相關問題