Objective c 我拖到xcode的文本文件在iphone/simulator上放在哪里?

Objective c 我拖到xcode的文本文件在iphone/simulator上放在哪里?,objective-c,ios,xcode,Objective C,Ios,Xcode,我在一个.txt文件中有一些数据,我把它拖到了xcode 4.2的参考资料中。然后我使用一些方法调用这个文件,读取它,并在屏幕上向用户显示它。它起作用了。我的问题是直接在iphone/模拟器上写入同一文件的末尾(即根据用户所做的事情更新文件)。它不写,因为我觉得我没有调用正确的位置和方法。这是我要写到文件末尾的代码,如果有人知道这为什么不起作用,这将是巨大的帮助 多谢各位 -(void)updateFile:(id)sender { NSArray *paths = NSSearch

我在一个.txt文件中有一些数据,我把它拖到了xcode 4.2的参考资料中。然后我使用一些方法调用这个文件,读取它,并在屏幕上向用户显示它。它起作用了。我的问题是直接在iphone/模拟器上写入同一文件的末尾(即根据用户所做的事情更新文件)。它不写,因为我觉得我没有调用正确的位置和方法。这是我要写到文件末尾的代码,如果有人知道这为什么不起作用,这将是巨大的帮助

多谢各位

-(void)updateFile:(id)sender

{

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



    //append filename to docs directory
    NSString *myPath =  [documentsDirectory stringByAppendingPathComponent:@"Mom.txt"];


    fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:myPath];

    dateCombinedString= [dateCombinedString lowercaseString];
    writtenString= [[NSString alloc]initWithFormat:@", %@, %@, %@",dateString,trimmedString,ForDisplay];


    [fileHandle seekToEndOfFile];
    [fileHandle writeData:[writtenString    dataUsingEncoding:NSUTF8StringEncoding]];

      [writtenString release]

         }

拖动到Xcode的文件位于应用程序资源中。您可以使用以下代码行获取资源的路径:

NSURL* fileUrl = [[NSBundle mainBundle] URLForResource:@"Mom" withExtension:@"txt"];
但是,您不能修改资源目录中的文件,因此应首先将该文件复制到文档目录,然后使用问题中的代码对其进行修改

以下是在文档文件夹中不存在文件时,如何从资源复制文件:

NSFileManager* fm;

fm = [NSFileManager defaultManager];
//only copy it from resources if it does not exits
if(![fm fileExistsAtPath:myPath]){
  NSURL* myUrl = [NSURL fileURLWithPath:myPath];;
  NSError* error = nil;
  [fm copyItemAtURL:fileUrl toURL:myUrl error:&error];
  //handle the error appropriately
}

如果将Mom.txt作为资源放在项目中,它将安装在应用程序的主捆绑包中,而不是应用程序的文档目录中。如何从主捆绑包中访问它,以及将其保留在资源或应用程序文档目录中的更好做法是什么?谢谢有道理,非常感谢穆拉特!如果您不介意,将此副本复制到文档目录并进行修改需要什么代码?或者我甚至不应该费心把它放到应用程序资源中,因为我将不断地修改/阅读它?感谢您编辑了我的答案,并添加了如何从资源文件夹复制文件。无法直接将文件添加到documents文件夹中。因此,您必须将文件的初始版本放入资源中,然后将其复制到documents文件夹中。