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

标签 ios arrays swift reference weak-references

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

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

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

Objective-C 类是继续运行,还是在尝试遍历数组并获取 nil 引用时崩溃?

最佳答案

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

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

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

关于iOS Swift 到 Objective-C 如何将弱引用传递给数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52003986/

相关文章:

ios - Firebase 实时更新我关注的人的帖子

java - 拆分数学表达式

arrays - Powershell数组长度

ios - 如何在 ImageView 中裁剪 UIImage

ios - 无法向 Swift 公开 Objective-C 类,进而导入 Swift 代码

iOS 将 VIPER 与 UITableView 结合使用

iOS - 打开时应用程序角标(Badge)消失

python - 是否可以使用 Numpy 实现此版本的矩阵乘法?

ios - swift 2 Core Data Predicate 数组中不区分大小写的搜索集

ios - iOS 图表的 x 轴上的重复值