面试题答案
一键面试1. NSError 常用属性
domain
:错误域,通常是一个标识错误来源的字符串,比如NSURLErrorDomain
用于 URL 相关错误,NSPOSIXErrorDomain
用于 POSIX 系统错误等。它有助于确定错误的大致范围或类型。code
:错误码,是一个整数,在特定的错误域内,每个错误码代表一种具体的错误情况。例如在NSURLErrorDomain
中,NSURLErrorBadURL
对应的错误码表示 URL 格式错误。userInfo
:这是一个字典,用于提供关于错误的额外信息。可以包含诸如错误的详细描述、建议的解决方法等。例如,可能会包含NSLocalizedDescriptionKey
对应的本地化错误描述字符串。
2. 创建 NSError 对象
在 Objective-C 中,可以使用 NSError
的类方法 errorWithDomain:code:userInfo:
来创建一个 NSError
对象。示例代码如下:
NSString *errorDomain = @"com.example.MyErrorDomain";
NSInteger errorCode = 1001;
NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"This is a custom error description."};
NSError *error = [NSError errorWithDomain:errorDomain code:errorCode userInfo:userInfo];
上述代码中,通过指定错误域 errorDomain
、错误码 errorCode
以及用户信息字典 userInfo
创建了一个 NSError
对象。userInfo
字典中的 NSLocalizedDescriptionKey
是系统预定义的一个键,用于存储本地化的错误描述信息。