首先,您可以驗證文件是否存在您正在查找的位置並且可讀? 使用
[[NSFileManager defaultManager] isReadableFileAtPath:aPath];
其次,你的文件是什麼。 initWithContentsOfFile的行爲:
通過aPath 標識必須僅包含屬性列表中的文件中的數組表示對象(的NSString,NSData的,NSArray中,或NSDictionary的對象)。
您的文件是一個有效的plist xml文件嗎?
InResponse
您不能使用NSArray的構造initWithContentsOfFile:解析一個普通的文本文件。
相反,您可以將文件內容讀入內存,並將它自己解析爲數組。對於你的例子,你可以使用
//pull the content from the file into memory
NSData* data = [NSData dataWithContentsOfFile:aPath];
//convert the bytes from the file into a string
NSString* string = [[[NSString alloc] initWithBytes:[data bytes]
length:[data length]
encoding:NSUTF8StringEncoding] autorelease];
//split the string around newline characters to create an array
NSString* delimiter = @"\n";
NSArray* items = [string componentsSeparatedByString:delimiter];
編輯OP使其更清晰。 – user377419 2010-07-21 01:42:34
嗯,我有一個錯誤..'編碼:NSUTF8StringEncoding]];'它說它缺少一個':''''' 你是否缺少一個參數? – user377419 2010-07-21 11:52:28
@ shorty876:不,他有一個太多的[字符在開頭。 – JeremyP 2010-07-21 12:27:06