Objective c 如何使用;“弱”;弧形?

Objective c 如何使用;“弱”;弧形?,objective-c,automatic-ref-counting,weak,Objective C,Automatic Ref Counting,Weak,我使用: @property(非原子,弱)ibuiview*videoView; 有一个警告: 属性“videoView”要求定义方法“videoView”-使用@synthesis、@dynamic或在此类实现中提供方法实现 然后我尝试: @综合视频视图; 有一个错误: 当前部署目标不支持自动弱引用 还有一个问题: @property(非原子、不安全、未维护)ibuiview*videoView; -(无效)解除锁定{ 视频视图=零; } 我可以这样使用吗?您的部署目标是什么?您需要至少

我使用:

@property(非原子,弱)ibuiview*videoView;
有一个警告:

属性“videoView”要求定义方法“videoView”-使用@synthesis、@dynamic或在此类实现中提供方法实现

然后我尝试:

@综合视频视图;
有一个错误:

当前部署目标不支持自动弱引用

还有一个问题:

@property(非原子、不安全、未维护)ibuiview*videoView;
-(无效)解除锁定{
视频视图=零;
}

我可以这样使用吗?

您的部署目标是什么?您需要至少拥有iOS4才能拥有
引用,并且您需要将LLVM4与Xcode4.4或更高版本一起使用,以便能够仅声明
@属性
变量,而不必提供
@合成


至于第二个问题——你想做什么。如果您只是试图在dealoc上将变量安全地设置为nil,那么这是可以的,因为您将其声明为
不安全\u未恢复
您不拥有它,因此不应该释放它。

您的部署目标是什么?您需要至少拥有iOS4才能拥有
引用,并且您需要将LLVM4与Xcode4.4或更高版本一起使用,以便能够仅声明
@属性
变量,而不必提供
@合成

至于第二个问题——你想做什么。如果您只是试图在dealoc上将变量安全地设置为nil,那么这是可以的,因为您将其声明为
不安全\u未恢复
您不拥有它,因此不应该释放它

当前部署目标不支持自动弱引用

问题是ios4.x不支持自动调零弱引用。这意味着,当弱引用对象被销毁时,弱引用继续指向该对象,如果使用,可能会导致崩溃

iOS 5及更新版本支持自动调零弱引用。要利用它们并清除上面的警告,请将最低iOS目标提高到5.0,并使用5.0 SDK

当前部署目标不支持自动弱引用

问题是ios4.x不支持自动调零弱引用。这意味着,当弱引用对象被销毁时,弱引用继续指向该对象,如果使用,可能会导致崩溃


iOS 5及更新版本支持自动调零弱引用。要利用它们并清除上面的警告,请将最低iOS目标提高到5.0,并使用5.0 SDK。

我的XCode是4.3.2,部署目标是4.3,我的llvm是3.1。我有一个问题,我应该将每个IBoutlet设置为零吗?谢谢你的回复。大多数人说这是风格的问题。我喜欢这样做,以防其他对象在其控制器释放后调用它,这样它就不会崩溃。其他人会告诉你,在控制器释放后调用IBOutlet是一个程序员错误,因此你希望它崩溃,以便解决问题。我的XCode是4.3.2,部署目标是4.3,我的llvm是3.1。我有一个问题,我应该将每个IBoutlet设置为零吗?谢谢你的回复。大多数人说这是风格的问题。我喜欢这样做,以防其他对象在其控制器释放后调用它,这样它就不会崩溃。其他人会告诉您,在控制器释放后调用IBOutlet是一个程序员错误,因此您希望它崩溃,以便能够修复问题。