ios - 为什么 UIKit 委托(delegate) "assign"而不是 "weak"?

标签 ios xcode cocoa uikit

如标题所述,为什么 UIKit与会代表(assign)而不是 (weak)

参见 UIPopovercontroller.h例如:

@property (nonatomic, assign) id <UIPopoverControllerDelegate> delegate;

据我所知,与弱保留属性相比,这并没有带来任何好处,但委托(delegate)人需要管理自己作为委托(delegate)人的生命周期时会出现很多问题。这是向后兼容性问题吗?

谢谢

最佳答案

因为大多数这些属性在 iOS SDK 支持弱属性之前就已经存在。 weak 属性仅在 iOS 5.0 及更高版本上受支持。

我不得不猜测,一旦 iOS 4.x 和更早版本成为历史,它们将全部更新为 weak

关于ios - 为什么 UIKit 委托(delegate) "assign"而不是 "weak"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370601/

相关文章:

ios - 从 appdelegate 访问 Tabbar View Controller 的子 Controller

android - 是否可以使用Visual Studio 2015自带的iOS/Android开发工具来编译Qt?

xcode - 如何让 iPhone 6 Plus 横向启动?

cocoa - 无法在 cocoa 应用程序中使用 ASP.Net Web 服务

ios - 异步请求/响应 : When am I really done?

cocoa - NSWindowGraphicContext?

ios - Swift iOS - 如何在两个 UIWindows 之间切换/切换并制作 keyWindow

ios - 将 UIButton 添加到 UIDatePicker

iphone - 在 XCode View 编辑器中是否可以调整多个选择的大小

swift - 在 Swift 中重命名问题