我正在尝试从以下 plist 输出结果,其中 checked 是 1(checked 是 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);
}
}
最佳答案
将 NSArray *providersArray
置于循环之外。
为了防止它被一次又一次地初始化并丢失它以前的值,在它上面使用 addObject:
。
关于ios - 如何将 plist 项输出到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443322/