objective-c - ARC IBOutlet 存储类型 iOS 限制

标签 objective-c ios xcode automatic-ref-counting weak

我知道现在使用 Xcode,建议使用 ARC,但是我读过一些关于它与 iOS 4.x 不兼容的信息,至少在使用 __weak 时是这样的。 .当我创建 IBOutlet它提供了 的选择弱 作为存储类型,这是否意味着我的应用程序仅限于 iOS 5 或更高版本,还是仍可在较旧的 iOS 上运行?

最佳答案

绝对只使用ARC。正如您所指出的,如果您选择提供 iOS 4.3 兼容性,您将无法享受 weak 的这一点小好处。变量,它们会自动出现nil -ed 在它们被释放时为您服务(但您在非 ARC 代码中没有该功能,因此您不会丢失任何东西)。而且,是的,当您从 Interface Builder 控制拖动到 .h 文件时,它说您只有 strongweak选项,但至少在最新的 Xcode 中,如果您将 iOS 4.3 作为目标并选择 weak ,它会自动为您创建一个 __unsafe_unretained ,所以一切都很好。

简而言之,使用 ARC,即使您的目标是支持 iOS 4.3,您的编码生命周期也会比不使用 ARC 的情况好得多。即使在 iOS 4.3 中,您也能获得如此多美妙的 ARC 好处。如果您愿意使用 iOS 5.0 作为您的目标部署,那么您将享受 ARC 的全部优势。

如果你使用 Xcode 4.5,你肯定会失去对 armv6 的支持,这是 iPhone 3G 和更早版本的处理器,所以你的应用程序将只支持 iPhone 3GS 和更高版本。

关于objective-c - ARC IBOutlet 存储类型 iOS 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13697625/

相关文章:

ios - 如何知道数组计数是否在 didUpdateLocations Swift 中增加

iphone - 来自父类(super class)的重写属性

iphone - 如何切换iPhone键盘布局?

ios - 为推送通知上传 iOS 设备 token

ios - Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 退出失败

ios - MPMoviePlayerViewController 在进入 youtube 后台后播放视频

ios - iPad 方向无法正常工作

objective-c - NSError 域/自定义域 - 约定和最佳实践

iphone - 如何在初始化后定义 UITableViewCell 样式?

objective-c - 捆绑 ID 和 SKU 编号