【发布时间】:2019-03-15 18:51:57
【问题描述】:
我有一个具有以下属性的 Objective-c 标头
@property (nullable, nonatomic, strong) NSArray<CustomObject *> *customObjects;
如果我创建该类的快速扩展,我现在可以从 NSArray 中删除对象:
self.customObjects?.remove(at: 0)
如果我这样做了
print(type(of: self.customObjects))
我明白了:
Array<CustomObject>
NSArrays 不是不可变的吗? Swift 是否会在我们编辑时创建一个浅拷贝?
【问题讨论】:
-
NSArray 是不可变的。它有一个可变版本,称为 NSMutableArray。
-
那是因为你没有把它当作
NSMutableArray。
标签: objective-c swift nsarray