我正在尝试输出以下plist的结果,其中checked为1(检查是plist中的BOOL)。我遇到的问题是,当我尝试将文本输出到providersArray时,它会一个接一个地输出它们,而不是像“text1,text2,text3”等那样在一个数组中输出......
我的语法导致了我的问题。任何帮助都会很棒。
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);
if ([checked boolValue]) {
NSString *providers = [NSString stringWithFormat:@"%@",text ];
NSLog(@"providers are %@", providers);
NSArray *providersArray = [text componentsSeparatedByString:@","];
NSLog(@"providersArray are %@", providersArray);
}
}
答案 0 :(得分:2)
将NSArray *providersArray
置于循环之外。
要防止它反复初始化并丢失以前的值,请在其上使用addObject:
。