我正在寻找几个填充单词的数组。最终,我希望能够从数组中抽出一个随机单词并显示它(我已经掌握了这一点)。我在想什么是填充这个数组的最佳方式。如果我只需要输入:使用.txt文件填充此数组的最佳方法?
[NSArray arrayWithObjects:@"word1",@"word2",@"word3",@"word4",@"word5",nil]
或者是那里的字存储在一个文本文件里,我只能有一个循环的文本文件保存到阵列添加的每个字一个更好的办法?
我正在用100个单词填充数组。任何和所有的帮助表示赞赏:D。
UPDATE
之后做一些研究,我发现这个here。这似乎正是我想要的。唯一的一点是它给了我一个警告
“stringWithContentsOfFile”已过时
我知道完整的NSString方法是:
stringWithContentsOfFile:(NSString *) encoding:(NSStringEncoding) error:(NSError **)
但我不知道放什么对于编码(我假设我可以把'无'为NSError)。除此之外,它就像一个魅力。我可能会考虑从路径切换到网址。下面是我找到的代码:
- (NSArray *) readFile:(NSString *) path {
NSString *file = [NSString stringWithContentsOfFile:path];
NSMutableArray *dict = [[NSMutableArray alloc] init];
NSCharacterSet *cs = [NSCharacterSet newlineCharacterSet];
NSScanner *scanner = [NSScanner scannerWithString:file];
NSString *line;
while(![scanner isAtEnd]) {
if([scanner scanUpToCharactersFromSet:cs intoString:&line]) {
NSString *copy = [NSString stringWithString:line];
[dict addObject:copy];
}
}
NSArray *newArray = [[NSArray alloc] initWithArray:dict];
return newArray;
}
将错误设置为nil或NULL的任何主要区别? – NuGy
并且谢谢!这就像一个惊人的魅力(可能会改变NSUR的路径)但是,谢谢!!!!!! – NuGy
你可以使用'nil'或'NULL',它主要是风格问题。当它引用一个指针而不是一个对象引用时,我更喜欢使用'NULL'。这使得它更清楚的是参数的类型是'NSError **'而不是'NSError *'。 – omz