iOS Swift 到 Objective-C 如何传递对数组的弱引用?

亚历克斯·斯通

我想了解 Swift 和 Objective-c 如何处理传递 nil 引用。我知道我不能将 nil 添加到 Objective-C 可变数组中。

在以下场景中如何处理 nil:

  • Swift 类是传递给 Objective-C 类弱引用观察者
  • Objective-C 将 Swift 类的引用保存在数组中
  • Swift 类被解除分配,它的弱引用变为 nil
  • Objective-C 现在有一个数组,其中一个元素指向 nil

Objective-C 类是否继续运行,或者在尝试迭代数组并获得 nil 引用时崩溃?

保威11

除非您使用NSPointerArray否则当您将对象添加到数组时,该数组将持有对其的强引用,从而防止对象被释放。

只有在对象从数组中移除或数组本身被释放后,对象才有资格被释放。

这意味着数组不能保留 nil 引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您如何将数据从Objective C传递到Swift?

从Objective-C到Swift

从 Swift 到 Objective C 的转换

从Objective-C到Swift:传递完成处理程序

将数据从Objective-C Viewcontroller传递到Swift ViewController

从Objective-C到Swift的翻译问题

Facebook Objective C 到 Swift 4

从Objective-C到Swift,指针转换

从Swift到Objective-C的Segue

JSON到UITableView IOS Objective-C

如何从 Swift 发送(和接收)非常大的浮动数组到 Objective c++ 到 C++,然后备份到 Swift?

iOS Swift框架:如何将Objective C代码正确导入swift框架?

将数据从 Swift 传递到 Objective C 时出现链接器错误

将python嵌入到以Objective-C / Swift / C / C ++编写的iOS(iphone)应用程序中(无论我可以在Xcode中编译并连接到iOS的任何语言)

使用Swift和Objective-C的iOS框架,其中Objective-C使用Swift C

如何使用从Swift 3到Objective-C的Notification.Name扩展

从Objective-C到Swift:转换for循环的正确方法

解决块形式objective-c到swift 3

从Objective-C到Swift:void(^ safeHandler)(UIBackgroundFetchResult)

导入Objective-C框架(CocoaPod)到Swift吗?

将Swift集成到Objective-C应用程序

从 Objective-C 到 Swift 4 的一行代码

将.net库集成到Objective C iOS App

如何将Objective-C代码转换为Swift代码-错误处理,iOS

如何为Objective-C和Swift制作通用的iOS库?

如何将AWS SDK for iOS与Objective-C而非Swift结合使用?

将数组/对象从Javascript传递到Objective-C

无法将[[Float]]数组传递到Objective-C ++

iOS-无法从Objective-C访问Swift Singleton