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

iOS Swift到Objective-C如何将弱引用传递到数组?,ios,arrays,swift,reference,weak-references,Ios,Arrays,Swift,Reference,Weak References,我想了解Swift和objective-c如何处理零引用的传递。我知道我不能将nil添加到Objective-C可变数组中 在以下场景中如何处理nil: Swift类是传递给Objective-C的弱参考观测器 班 Objective-C将对Swift类的引用保存在数组中 Swift类被解除分配,它的弱引用变为零 Objective-C现在有一个数组,其中一个元素指向nil Objective-C类是否继续运行,或者在尝试遍历数组并获取nil引用时是否崩溃?除非您使用的是NSPointerArr

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

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

Swift类是传递给Objective-C的弱参考观测器 班 Objective-C将对Swift类的引用保存在数组中 Swift类被解除分配,它的弱引用变为零 Objective-C现在有一个数组,其中一个元素指向nil Objective-C类是否继续运行,或者在尝试遍历数组并获取nil引用时是否崩溃?

除非您使用的是NSPointerArray,否则当您将对象添加到数组时,数组将保留对它的强引用,从而阻止对象被释放

只有在从数组中删除对象或释放数组本身后,对象才有资格解除分配


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

一旦将引用添加到NSArray中,就会有一个对Swift对象的强引用,在将其从数组中删除之前,无法释放该引用