Ios 委托是否仍然不安全且未获得?

Ios 委托是否仍然不安全且未获得?,ios,objective-c,delegates,Ios,Objective C,Delegates,我正在阅读BNR第三版,它说委托是不安全的未恢复的,而不是弱的,默认为向后兼容。我想知道最新版本的Xcode是否仍然如此,因为不再有很多人使用旧的iOS版本了?在iOS 5.0及更高版本中支持委托置零。如果您的目标是5.0或更高版本,请使用弱代表什么?由于各种原因,系统中的许多类仍将具有不安全的未维护委托。你的类应该有弱类。如果你的目标是iOS5+,那么你以前也可以使用弱类。是CLLOCATIONMANAGERDELEGATE。我不知道“不应该使用”是什么意思。您无法控制系统框架中代理的弱性,您

我正在阅读BNR第三版,它说
委托
不安全的未恢复的
,而不是
弱的
,默认为向后兼容。我想知道最新版本的Xcode是否仍然如此,因为不再有很多人使用旧的iOS版本了?

在iOS 5.0及更高版本中支持委托置零。如果您的目标是5.0或更高版本,请使用

代表什么?由于各种原因,系统中的许多类仍将具有不安全的未维护委托。你的类应该有弱类。

如果你的目标是
iOS5+
,那么你以前也可以使用
弱类。
是CLLOCATIONMANAGERDELEGATE。我不知道“不应该使用”是什么意思。您无法控制系统框架中代理的弱性,您无法选择弱或不弱。如果您想要一个具有不安全的未维护委托的类的示例,则NSTableView的委托是不安全的未维护委托。确定了吗,因此OP应该始终使用
?那么,如果只在Apple代码内部使用,并且只是内部实现细节,为什么要提出
不安全\u unrepaired
?答案意味着,在某些情况下,如果没有进一步的澄清,就不应使用
。答案的整个
unsafe_unrepaired
部分只是在
weak
的使用中添加了FUD,IMO。为了进一步说明为什么系统类可能不使用weak:1)还没有更新,2)需要在OSX上支持垃圾收集,3)需要支持与weak不兼容的委托(例如,10.8之前的NSWindow)。这些原因通常不适用于非框架代码,因此我认为您可能应该声明您的委托是弱的,即使不是所有的Cocoa都是弱的。