Objective-C中的弱属性设置器属性和强属性设置器属性有什么不同?

@property(retain, [weak/strong]) __attribute__((NSObject)) CFDictionaryRef myDictionary;

有什么影响和好处?

我听说在iOS4上不能使用弱版,我们需要使用Assign.

弱类似于赋值吗?

推荐答案

您可以打开或关闭特定文件的ARC.如果打开了,你就不能使用retainreleaseautorelease等.相反,属性使用strong weak,变量使用__strong __weak (默认为__strong).STRONG等同于保留,但是ARC将为您管理版本.

只有在希望避免保留循环(例如,父项保留子项,子项保留父项,因此这两个项都不会被释放)时,才会使用弱.

"免费搭桥"部分(从NS投到CF投)有点棘手.您仍然需要手动管理CF对象的CFRelease()CFRetain().当您将它们转换回NS对象时,您必须告诉编译器有关保留计数的信息,以便它知道您做了什么.

全部是here.

Ios相关问答推荐

连接一些字符串,每个字符串都应该可以在swiftUI中单独点击

Fastlane,iOS Provisioning Profile推送通知权限(通过示例)&

SwiftUI@Observable不跟踪父类属性中的更改以更新视图

检测touch 并忽略其他手势SWIFT SceneKit

ScrollViewReader Scrollto Not Working

使用标头UICollectionViewFlowLayout时的简单SwiftUI视图错误

确保方法调配的安全有效实施

Strange UIView.animate更改UIButton标题 colored颜色 的行为

如果使用 .onAppear 设置,为什么 SwiftUI Picker 不显示正确的选定值

iOS - 判断开发者模式是否开启 (Swift)

更改图标会导致 SwiftUI 动画出现故障?

在视图控制器中实例化视图控制器是否可能/智能?

Swiftui为什么在点击第二行之前背景不起作用

在 SwiftUI 中打开 PDF

Xcode 8,iOS 10 -为进程启动 WebFilter 日志(log)记录

在iOS7半透明导航栏中获取正确的 colored颜色

iOS:应用程序在安装应用程序时未征求用户许可.每次都获得 kCLAuthorizationStatusNotDetermined - Objective-c & Swift

界面生成器中 UIView 的边框 colored颜色 不起作用?

当键盘出现在 iOS 中时,将 UIView 上移

用 PC 调试 ipad safari