2013-01-21 33 views
1

如果我用抓在plist中的数据:如何根据条件声明获取plist项目?

NSString *path = [[NSBundle mainBundle] pathForResource:@"Providers" ofType:@"plist"]; 
dataArray = [NSMutableArray arrayWithContentsOfFile:path]; 
for (NSDictionary *dictionary in dataArray) 
{ 
    text = [dictionary valueForKey:@"text"]; 
    checked = [dictionary valueForKey:@"checked"]; 
    NSLog(@"%@ checked value is: %@", text, checked); 
} 

我怎么可能去写检查,看看只有检查设置为YES如果是这样输出的条件语句该供应商

+0

检查一个BOOL或字符串? –

+0

checked BOOL – hanumanDev

回答

1

假设checked存储为BOOL包裹在NSNumber*的文本值,您可以使用此代码:

NSNumber *checked = [dictionary valueForKey:@"checked"]; 
if ([checked boolValue]) { 
    ... 
} 


*通过调用 [NSNumber numberWithBool:myBoolValue]包裹在一个 NSNumber BOOL

+0

是的,这是一个BOOL值 – hanumanDev

+0

@hanumanDev所以这应该工作,如果没有,你会看到一个“不响应选择器”消息的崩溃。你试过了吗? – dasblinkenlight

+0

它似乎是从plist输出所有物品。这是我有: 如果([checked boolValue]){NSString * providers = [NSString stringWithFormat:@“%@”,text]; NSLog(@“providers are%@”,providers); NSMutableArray * dataArray2 = [NSMutableArray arrayWithObjects:providers,nil]; (@“providersArray是%@”,dataArray2); } } – hanumanDev