Objective c 将数组写入文件

Objective c 将数组写入文件,objective-c,plist,saving-data,Objective C,Plist,Saving Data,我正在自学目标C(仍然),我将学习《大书呆子牧场指南》。第一次把它通读一遍,现在我又在做了一遍,但在读的时候在Xcode上做练习。 我被困在关于写作的章节里了。我完全复制了代码,没有任何警告。我相信这和这条路有关 代码: } 它没有打印任何东西。我在mac中的任何位置都找不到stock.plist文件。这是我第一次尝试保存到文件,所以可能是我忘记了一些简单的东西?Tx是的,这是导致问题的路径,因为iOS设备或Mac上都不存在/temp(您没有说明问题中的平台): /tmp可能会起作用,但写入应用

我正在自学目标C(仍然),我将学习《大书呆子牧场指南》。第一次把它通读一遍,现在我又在做了一遍,但在读的时候在Xcode上做练习。 我被困在关于写作的章节里了。我完全复制了代码,没有任何警告。我相信这和这条路有关

代码:

}


它没有打印任何东西。我在mac中的任何位置都找不到stock.plist文件。这是我第一次尝试保存到文件,所以可能是我忘记了一些简单的东西?Tx

是的,这是导致问题的路径,因为iOS设备或Mac上都不存在
/temp
(您没有说明问题中的平台):

/tmp
可能会起作用,但写入应用程序自己的文档文件夹是正常的,我很惊讶这本书没有涵盖这一点。大概是这样的:

NSString *documentsFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fullpath = [documentsFolder stringByAppendingPathComponent:@"stocks.plist"];
[stocks writeToFile:fullpath atomically:YES];

这在iOS和OSX上都适用,但在OSX下的位置将取决于应用程序是否为沙盒。

您发布的代码读取文件,而不是写入文件。你能把写作部分贴出来吗?在我脑海中,我怀疑你没有权限写这个文件,但是不看代码就不能说。
[stocks writeToFile:@"/temp/stocks.plist" atomically:YES];
NSString *documentsFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fullpath = [documentsFolder stringByAppendingPathComponent:@"stocks.plist"];
[stocks writeToFile:fullpath atomically:YES];