gpt4 book ai didi

ios NSError 类型

转载 作者:可可西里 更新时间:2023-11-01 04:16:39 27 4
gpt4 key购买 nike

自从我添加了这个 async 请求后,我收到了一个 xcode 错误 Sending 'NSError *const __strong *' to parameter of type 'NSError *__autoreleasing *' changes retain/释放指针属性

...
[NSURLConnection sendAsynchronousRequest:req queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLData:data error:&error];
...
});
}];
...

如果我使用 error:nil,那么我的代码运行良好,但我对不使用错误感到不安。我该怎么办?

最佳答案

大概是因为您正在重用在完成处理程序中传递给您的 error。它将作为 __strong 传递,然后您将其传递到需要 __autoreleasing 的地方。尝试更改为以下代码:

...
[NSURLConnection sendAsynchronousRequest:req queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
NSError *error2 = nil;
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLData:data error:&error2];
...
});
}];
...

关于ios NSError 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9203044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com