我正在使用ASIHTTPRequest来执行一些 HTTP 调用。在某些情况下,当网络不可用时,我会显示一个对话框,其中包含NSError
返回对象的错误。当我更改我的语言设置(西班牙语)时,我的问题出现了。localizedDescription
总是以英语返回:
NSLog(@"userInfo: %@", [error userInfo]);
NSLog(@"localizedDescription: %@", [error localizedDescription]);
印刷:
2012-04-05 22:02:05.519 MyApp[18644:207] userInfo: {
NSLocalizedDescription = "A connection failure occurred";
NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=61 \"The operation couldn\U2019t be completed. Conexi\U00f3n rechazada\" UserInfo=0x594f880 {}";
}
2012-04-05 22:02:05.519 MyApp[18644:207] localizedDescription: A connection failure occurred
localizedDescription
仍然是英文的,但是在里面[error userInfo]
,在里面,NSUnderlyingError
有一个西班牙语翻译可用,但是我不知道如何通过NSError
返回的对象来访问它。
之前提出了一个类似的问题,但答案并不令人满意,并且无法针对所有可能的错误消息进行扩展。