Cocoa - 来自无处的NSError描述

Oli*_*ver 4 iphone cocoa nserror

我有这段代码:

- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response 
{
    if ([response respondsToSelector:@selector(statusCode)]) {

        int statusCode = [((NSHTTPURLResponse*)response) statusCode];
        if (statusCode >= 400) {
            NSError* statusError = [NSError errorWithDomain:@"Server connection error" code:statusCode userInfo:nil];
            [self connection:connection didFailWithError:statusError];
        }
    }
}

- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error 
{
NSLog(@"%@", [error localizedDescription]);
}
Run Code Online (Sandbox Code Playgroud)

这给了一个缺页:

- >操作无法完成.(服务器连接错误错误404.)

描述(本地化与否)来自何处?
我刚刚使用代码和自定义无意义域字符串初始化了NSError ...

Pat*_*ini 8

该错误消息表示服务器无法找到您的在线资源.

例如:http://www.google.com/notthepageyourelookingfor.

HTTP 404 - 维基百科

如果你问的是错误信息的来源,它应该像这样分解:

  • localizedDescription:

    操作无法完成()

默认情况下,此方法返回用户信息字典中的对象NSLocalizedDescriptionKey.如果用户信息字典不包含NSLocalizedDescriptionKey的值,则从域和代码构造默认字符串.NSLocalizedDescriptionKey是错误的本地化字符串表示形式,如果存在,将由localizedDescription返回.适用于Mac OS X v10.2及更高版本.在NSError.h中声明.

  • errWithDomain:@"Server connection error":

    服务器连接错误

  • code:statusCode:

    错误404