Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何基于条件语句获取plist项?_Iphone_Ios_Objective C_Plist - Fatal编程技术网

Iphone 如何基于条件语句获取plist项?

Iphone 如何基于条件语句获取plist项?,iphone,ios,objective-c,plist,Iphone,Ios,Objective C,Plist,如果我使用以下方法在plist中获取数据: NSString *path = [[NSBundle mainBundle] pathForResource:@"Providers" ofType:@"plist"]; dataArray = [NSMutableArray arrayWithContentsOfFile:path]; for (NSDictionary *dictionary in dataArray) { text = [dictionary valueForKey:@

如果我使用以下方法在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);
}

我如何编写一个条件语句,仅当checked设置为YES时才进行检查,如果是,则输出提供者的文本值假设
checked
存储为
BOOL
包装在
NSNumber
*中,您可以使用以下代码:

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


*通过调用
[NSNumber numberWithBool:myBoolValue]
BOOL
包装在
NSNumber
中,假设选中的
存储为
BOOL
包装在
NSNumber
*中,则可以使用此代码:

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


*通过调用
[NSNumber numberWithBool:myBoolValue]

BOOL
包装在
NSNumber
中。是否选中BOOL或string?是否选中BOOL或string?@hanumanDev,这样应该可以正常工作,如果不选中,您将看到一个带有“不响应选择器”消息的崩溃。你试过了吗?它似乎正在输出plist中的所有项目。这就是我所拥有的:if([checked boolValue]){NSString*providers=[NSString stringWithFormat:@“%@”,text];NSLog(@“providers are%@”,providers);NSMutableArray*dataArray2=[nsmutablearraywhithobjects:providers,nil];NSLog(@“providers array are%@”,dataArray2);}}@hanumanDev这应该行得通。您确定某些项目未选中吗?@hanumanDev因此这应该可以工作,如果没有,您将看到带有“不响应选择器”消息的崩溃。你试过了吗?它似乎正在输出plist中的所有项目。这就是我所拥有的:if([checked boolValue]){NSString*providers=[NSString stringWithFormat:@“%@”,text];NSLog(@“providers are%@”,providers);NSMutableArray*dataArray2=[nsmutablearraywhithobjects:providers,nil];NSLog(@“providers array are%@”,dataArray2);}}@hanumanDev这应该行得通。您确定某些项目未选中吗?