【发布时间】:2013-12-25 03:50:00
【问题描述】:
我有一个类的属性变得臃肿,现在大约有 30 个,其中大部分是整数枚举类型。
我的代码目前在很多地方都使用了这个,我正在尝试慢慢地转向新的字典表示。
我希望从这个对象中创建一个字典,但只包含非 0 的值(具有一些数据的值)。
是否有一些objective-c键值编码魔法可以帮助我简化这种方法的编写?
@property(nonatomic)kGrade grade;
@property(nonatomic)kQuality quality;
//a whole bunch more properties
-(NSMutableDictionary*)itemAsDictionary
{
if(itemDictionary !=nil)
{
return itemDictionary;
}else
{
itemDictionary = [[NSMutableDictionary alloc] initWithCapacity:40];
//I really dont want to write a whole bunch of such statements
if(self.grade>0)
{
[itemDictionary setObject:@(self.grade) forKey:@"grade"];
}
//add 39 other items
}
return itemDictionary;
}
【问题讨论】:
标签: ios objective-c nsdictionary nsobject key-value-coding