AFNetworking:当前部署目标不支持自动_weak引用。

6
我正在使用 XCode 4.6.2,也是 iOS 开发的新手。我正在尝试安装 AFNetworking 库,但当我尝试使用它时,我会得到以下错误:"The current deployment target does not support automated _weak references"(当我尝试从 URL 显示图像时),在文件 AFHTTPClientAFURLConnectionOperation 中出现。
在我的第一个项目中,我没有使用弱引用(weak properties),只有强引用(strong ones)。
希望能给予任何建议!
谢谢。
2个回答

12

弱引用只支持iOS 5.0及以上版本。如果你的部署目标设置为4.3,则无法使用weak。错误可能来自AFNetworking。

如果可以,请放弃对iOS 4.3的支持,或者不要使用AFNetworking。


实际上,部署目标默认设置为4.3。非常感谢您的回答! - Reveclair
1
@Reveclaire:对于__week属性,请使用__unsafe_unretained。请参考此链接http://mobappdevelopment.wordpress.com/2013/01/10/deployment-target-does-not-support-automated-weak/。 - iCoder86

2

为了针对较老的操作系统,您可以在属性声明中使用 unsafe_unretained 替代 weak,并且它应该基本上以相同的方式工作。当 weak 引用的目标消失时,它们会将自己设置为 nil,但是 unsafe_unretained 则留下了这样一种可能性:当您链接到的对象被释放时,它可能会变成悬空指针。后者与在手动内存管理中使用 assign 属性声明 的行为相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接