0

我使用以下代码进入文档目录。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

为什么我的应用程序会因以下消息而崩溃?

*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

我看不出我的NSArray(不可变数组)如何为空。该函数应该以数组的形式返回文档文件夹。有任何想法吗?

4

4 回答 4

1

1)你确定崩溃在那里吗?

2)不完全相关,但可以提供帮助

于 2012-10-17T16:35:49.243 回答
0

尝试NSHomeDirectory()改用...这是获取应用程序主目录的更好方法。

注意:如果您在文档目录之后,那么您可能需要附加@"Documents/"到字符串

于 2014-02-19T13:13:41.757 回答
0

由返回的数组中NSSearchPathForDirectoriesInDomains包含零个元素。它是空的。正是错误消息所说的。

于 2012-10-17T16:33:59.367 回答
0

不回答为什么,而是从 Xcode 5 开始:

NSString *documentsDirectory = [paths firstObject];

如果它是空的,它不会引发异常,它会返回 nil。没有崩溃。

于 2014-02-19T13:02:46.173 回答