Jac*_*lom 0 objective-c nsdata nserror
我使用下面的方法从URL获取数据,但是如果statusCode不等于200 ,我想让它返回错误.
+ (NSData *)getData:(NSString *) url {
NSURL *urlNS = [[NSURL alloc] initWithString:url];
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:urlNS];
NSError * error = nil;
NSHTTPURLResponse* urlResponse = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&urlResponse error:&error];
int statusCode = [urlResponse statusCode];
if(statusCode == 200) {
return data;
} else {
//return the error object which is not NSData or which is converted to NSData
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题
我可以以某种方式在非NSData对象中返回我的错误(它将是上面定义的错误变量),或者我可以将我的错误转换为NSData吗?
mat*_*att 11
通常的惯例是如果出现错误则返回nil.
如果您还想提供错误,通常是通过间接(NSError**)提供额外的参数.
例:
+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error
Run Code Online (Sandbox Code Playgroud)
回报价值
通过使用编码enc从路径命名的文件读取数据而创建的字符串.如果无法打开文件或存在编码错误,则返回nil.
Cocoa 非常重视这种模式.
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |