我一直在使用最优秀的 Accessorizer 为我在 Xcode 中的 Obj-C 代码自动神奇地生成 setter/getter。最近在 Accessorizer 中进行了更改:
旧版本的 Accessorizer:
@property (nonatomic, retain) NSMutableSet *setA;
@property (nonatomic, 保留) NSMutableSet *setB;
新版本的 Accessorizer:
@property (nonatomic, copy) NSMutableSet *setA;
@property (nonatomic, 复制) NSMutableSet *setB;
可悲的是,新版本使我的代码崩溃。在我的代码中,我执行以下操作:
self.setA = [[[NSMutableSet alloc] init] autorelease];
self.setB = [[[NSMutableSet alloc] init] autorelease];
// ...
[self.setA minusSet:self.setB];
上面的代码行使用旧方式(保留)可以正常工作,但使用新方式(复制)会崩溃。显然这里出了点问题。我广泛依赖 Accessorizer。有人可以澄清在 NSMutableSet 的上下文中使用复制/保留的含义吗?
谢谢,
道格