gpt4 book ai didi

ios - 快速枚举错误?

转载 作者:行者123 更新时间:2023-12-01 19:22:54 25 4
gpt4 key购买 nike

得到警告说:

集合表达式类型“NSString *”可能不会响应“countByEnumeratingWithState:objects:count”

尝试运行以下代码时:

 NSString *proper = [NSString stringWithContentsOfFile:@"usr/share/dict/propernames"     encoding:NSUTF8StringEncoding error:NULL];


for (NSString *i in proper){
NSLog(@"Item>%@", i);
}

当我运行程序时,我没有从NSLog语句获得任何输出。有人碰到这个吗?

最佳答案

编译器警告试图告诉您您不能使用NSString循环遍历for ... in ...。除了原因之外,还试图说NSString不是有效的“集合”类型。有效的“集合”类型是NSArrayNSSetNSDictionary

因此,如果您的文件应包含结构化数据,则应将其解析为比纯NSString更有用的内容。这样的事情可能会带来更好的结果:

NSString* temp = [NSString stringWithContentsOfFile:@"usr/share/dict/propernames"     encoding:NSUTF8StringEncoding error:NULL];
NSArray* proper = [temp componentsSeparatedByString:@"\n"];

for (NSString* i in proper){
NSLog(@"Item>%@", i);
}

这将打印文件中的每一行。当然,这假设您的输入文件每行只有一个条目。如果以其他方式构建它,则必须以不同的方式解析它。

关于ios - 快速枚举错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com