Objective-C 运行时版本是否会为用户保留关联引用?

2024-01-05

当有些代码是这样的时候:

objc_setAssociatedObject (
  obj,
  &key,
  val,
  OBJC_ASSOCIATION_RETAIN
);

需要打电话给相关人员吗

objc_setAssociatedObject (
  obj,
  &key,
  nil,
  OBJC_ASSOCIATION_RETAIN
);

释放保留价值? Objective-C 运行时是否自动释放关联引用dealloc或某处?


当父对象被释放时,关联的对象将被释放。查看文档here https://web.archive.org/web/20120818164935/http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/Chapters/ocAssociativeReferences.html,特别是这个例子:

在点 1 处,字符串overview仍然有效,因为OBJC_ASSOCIATION_RETAIN策略指定数组保留关联的对象。然而,当数组被释放时(在第 2 点),overview被释放,因此在这种情况下也被释放。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C 运行时版本是否会为用户保留关联引用? 的相关文章

  • 如何从我的应用程序打开 ios Native dialer 应用程序

    我想打开本机拨号器应用程序并允许用户在那里输入电话号码 我想要这个的原因是因为在我的应用程序中 用户需要使用 USSD 代码才能拨打电话 但使用下面的代码没有任何反应 没有任何启动 NSString phoneNumber tel stri
  • 从沙箱中的帮助应用程序读取 NSUserDefaults

    我找到了一些阅读资源NSUserDefaults另一个应用程序的 Objective C NSUserDefaults 缓存会阻止其他应用程序准确读取更改 https stackoverflow com questions 10667848
  • 如何使用 Objective-C 加载 dylib 或 .a(静态库)文件?

    C 代码 Windows Assembly assembly Assembly LoadFrom AssemblyPath System Type objTypes assembly GetTypes Type libType null 我
  • NSRunningApplication - 终止

    我将如何使用NSRunningApplication 我有与启动应用程序相反的东西 NSWorkspace sharedWorkspace launchApplication appName 但我想关闭一个 当我调试代码时出现错误NSRun
  • 为什么 NSOrderedSet 不继承 NSSet?

    当然 有序集是集合的更具体的情况 那么为什么NSOrderedSet继承自NSObject而不是NSSet 我通过了界面NSSet你是对的 有序集似乎满足里氏替换原则 http en wikipedia org wiki Liskov su
  • 使用 Objective-C 获取 Photoshop 的动作列表

    我正在使用 C 和 Obj C 编写一个与 Photoshop 交互的 OSX 应用程序 我一直在使用NSAppleScript使用动态构建的 AppleScript 来驱动 Photoshop 是的 这有点可怕 我希望能够以不同的方式驱动
  • Objective-C 中可以创建私有财产吗?

    Objective C 中可以创建私有财产吗 我确实知道一种私有财产功能可以通过另一种方式实现 但我对特定问题感兴趣 谢谢 是的 可以 但是代码看起来有点奇怪 如果你打电话它只会给你一些警告 你必须自己检查警告 在您的实现文件 m 中 in
  • Objective-C - ARC - NSNumber - 分段错误

    我有一个 Objective C 程序 并且正在使用 ARC 自动引用计数 它在第 23 行抛出分段错误 请参见下面的程序 Question1 为什么会出现分段错误 下面给出的是程序 import
  • 如何将 NSDictionary 转换为 NSData,反之亦然?

    我正在发送NSString and UIImage使用蓝牙 我决定将两者都存储在NSDictionary然后将字典转换为NSData 我的问题是如何转换NSDictionary to NSData反之亦然 NSDictionary gt N
  • 一段简单的代码,在 GC 下运行良好,但在 ARC 中开始崩溃

    我有以下简单的 检查我的应用程序是否设置为在登录时启动 代码 它在垃圾收集下工作得很好 然而 自从我开始使用 ARC 并插入了 bridge 根据需要 代码开始随机且不可预测地崩溃 根据堆栈跟踪 代码在某些期间崩溃CFRelease 有什么
  • -[NSCFString objectAtIndex:]:无法识别的选择器

    我有一个小问题 在谷歌中找不到 UITableView工作正常 直到我开始滚动 Error Message NSCFString objectAtIndex unrecognized selector sent to instance 0x
  • 在 Facebook 墙上添加照片

    void postToWall FBStreamDialog dialog FBStreamDialog alloc init autorelease dialog userMessagePrompt NSString stringWith
  • 为什么C++中没有“NULL引用”?

    我正在阅读 C 常见问题解答 8 6 什么时候应该使用引用 什么时候应该使用指针 http www parashift com c faq lite refs vs ptrs html 特别是以下声明 可以时使用引用 必要时使用指针 上述情
  • 调用 popToRootViewControllerAnimated 时未调用 viewWillDisappear

    我从事遗留应用程序的工作 并发现我的view Will Did Disappear方法并不总是被正确触发 情况是 我有一个 自定义 UIViewController在 AppDelegate 中设置为 rootViewController
  • 使用 Objective-C 将 XMP 数据嵌入到 PNG

    我需要将自定义 XMP 文件嵌入到 iOS 应用程序中的 PNG 中 到目前为止 我能做的就是编译 Adob e XMP 工具包 生成 Xcode 项目 然后正确编译该项目 从那里我不知道如何在我的 Xcode 项目中使用该库以及如何使用它
  • Xcode 6 Launchscreen.xib 具有适用于 iPad 横向和纵​​向的不同资源

    使用 Xcode 6 中引入的 LaunchScreen 我可以定义用于 iPad 横向和纵 向的不同资源吗 由于两个 iPad 方向的特征是相同的 遗憾的是 顺便说一句 我无法区分两者 这是否意味着 要么对 iPad 横向和纵 向使用相同
  • 获取动画 UIImageview 的坐标

    我正在水平位置对 UIImageview 进行动画处理 为此我使用了下面的代码我使用了 NSTimer timer NSTimer scheduledTimerWithTimeInterval 0 2 target self selecto
  • ios 无法将图片上传到服务器

    您好 我正在尝试将图像从我的 IOS 设备上传到服务器 这是我上传图像的代码 IBAction btnUpload id sender if self imageViewGallery image nil UIAlertView Error
  • 在ios键盘上方显示建议工具栏

    我是iOS开发的新手 我正在尝试在 ios 5 1 中创建一个具有 textView 的拼写建议类型应用程序 这样如果用户点击键盘的某个键 则建议工具栏会出现在键盘顶部 其中包含所有建议 并且如果用户点击这些建议之一它将显示在 textVi
  • kCVPixelFormatType_420YpCbCr8BiPlanarFullRange 帧到 UIImage 转换

    我有一个应用程序可以捕获 kCVPixelFormatType 420YpCbCr8BiPlanarFullRange 格式的实时视频来处理 Y 通道 根据苹果的文档 kCVPixelFormatType 420YpCbCr8BiPlana

随机推荐