【发布时间】:2011-03-23 12:36:39
【问题描述】:
我正在尝试将 NSString 转换(或复制?)为 NSMutableArray。我想我的问题是我不太了解 MutableArray 的结构。在我有限的知识中,一个数组可能看起来像这样:
NoteBook = [[NSMutableArray alloc] init];
for (int temp = 0; temp < 3; temp++) {
[NoteBook insertObject:@"Page" atIndex:temp];
}
这会给我一个 PagePagePage 数组。假设我想打开一个包含 PagePagePage 的 txt 文件,但是这些单词由一个定义的字符串分隔,以便我可以将数组中的各个对象分开,如下所示: Page--- end of page -- -页---页尾---页。
现在,我的下一步是从 txt 文件中读取此信息:
NSString *tempTextOut = [NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:&error];
NoteBook = [tempTextOut componentsSeparatedByString: @"\n--- end of page ---\n"];
但是,最后一行不起作用,xCode 告诉我:分配“struct NSArray*”的不兼容 Objective-C 类型,预期为“struct NSMutableArray*”。我不太明白这一点 - NSArray 和 MutableArray 应该是兼容的(因为一个是另一个的子类)。 xCode 不应该告诉我问题在于我一直在尝试将 NSString 转换为 NSMutableArray 吗?
我可能需要重新设置我的 MutableArray,然后再放回它,因为现在,它仍然包含我在第一步中分配给它的 PagePagePage。我以为我的 NoteBook 可变数组会简单地被字符串替换,但我想不会是这样。
我非常感谢您在这件事上的任何帮助。谢谢!
【问题讨论】:
标签: iphone objective-c cocoa-touch nsstring nsmutablearray