【问题标题】:createDirectoryAtPath not working - Objective CcreateDirectoryAtPath 不起作用 - 目标 C
【发布时间】:2012-05-24 14:41:43
【问题描述】:

我正在尝试创建一个新目录,它应该比这更容易。我查看了许多教程,实际上是在复制和粘贴代码,但我每次都收到错误“使用未声明的标识符 createDirectoryAtPath”。这是我的代码:

NSFileManager *filemgr;
NSArray *dirPaths;
NSString *docsDir;
NSString *newDir;

filemgr =[NSFileManager defaultManager];

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
    NSUserDomainMask, YES);

docsDir = [dirPaths objectAtIndex:0];
newDir = [docsDir stringByAppendingPathComponent:@"pdf"];

if ([createDirectoryAtPath:newDir withIntermediateDirectories:YES attributes:nil error: NULL] == NO)
{
        // Failed to create directory
}
[filemgr release];

任何帮助将不胜感激。

编辑:我应该提到我在 .m 文件中有这个代码,在 -(void)viewDidLoad

【问题讨论】:

    标签: objective-c ipad xcode4


    【解决方案1】:

    你必须在文件管理器上调用 createDirectoryAtPath:

    if ([filemgr createDirectoryAtPath:newDir withIntermediateDirectories:YES attributes:nil error: NULL] == NO)
    

    【讨论】:

    • 这似乎有效。出于某种原因,我写入该目录的文件没有显示出来,但这是一个单独的问题。谢谢一堆。我会尽快将其标记为正确。
    【解决方案2】:

    您忘记包含要向其发送消息的对象。正如 joern 所说,您需要将 createDirectoryAtPath:withIntermediateDirectories:attributes 消息发送到 NSFileManager 实例 filemgr。

    【讨论】:

    • 是的,确实有效。我不知道为什么其他代码示例没有这部分。很遗憾,正因为如此,我不得不让一个问题被否决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    相关资源
    最近更新 更多