小编bre*_*lis的帖子

Objective C @property用于多对多关系

我有过各种各样的情况,其中Objective-C类有一个属性需要是一个集合类(通常是NSArray).有没有一种标准的方法来实现它?能够只使用@synthesize来设置它会很棒.我可以将属性声明为NSMutableArray和@synthesize,但这不允许我强制执行哪些类型的对象可以放入集合中,也不会阻止客户端代码修改数组.我通常做的是这样的:

@property(nonatomic, readonly) NSArray *widgets;

- (void)addWidget:(Widget*)widget;
- (void)removeWidget:(Widget*)widget;
...
Run Code Online (Sandbox Code Playgroud)

该集合实现为NSMutableArray,NSArray包含传递回调用者的当前内容.对于必须是常见的场景,这似乎是很多编码.为了建立键值观察,需要进行更多的编码.

我错过了什么,或者设置收集属性真的这么多吗?

collections properties objective-c

5
推荐指数
1
解决办法
248
查看次数

标签 统计

collections ×1

objective-c ×1

properties ×1