我有一个plist文件,其中包含一系列字典。这是其中之一:
弗雷德字典
姓弗雷德
isMale [已选中框]
所以现在我用我从plist文件中读取的字典初始化我的Person对象:
-(id) initWithDictionary: (NSDictionary *) dictionary {
if (self = [super init])
self.name = [dictionary valueForKey: @"Name"];
self.isMale = ????
}
如何完成上面的代码,以便在plist文件中选中框时将self.isMale设置为YES,如果不是则选择NO。如果字典中没有键isMale,最好也设置为NO。
答案 0 :(得分:91)
BOOL值通常存储在包含在NSNumber对象中的obj-c容器中。如果情况确实如此,那么您可以使用以下方法检索bool值:
self.isMale = [[dictionary objectForKey:@"isMale"] boolValue];
答案 1 :(得分:6)
弗拉基米尔是对的,我只是想进入并说好检查plist中的那些值是否也存在,如果没有通常将其设置为默认值。
类似的东西:
id isMale = [dictionary valueForKey:@"isMale"];
self.isMale = isMale ? [isMale boolValue] : NO;
检查词典中是否存在键“isMale”的值。如果确实如此,则从中获取boolValue。如果没有,则将self.isMale设置为默认值NO。