我正在尝试使用文件执行以下任务,但我被卡住了。
以下是代码:
NSString* aStr = @"Hello World!";
NSData* aData;
aData = [aStr dataUsingEncoding: NSASCIIStringEncoding];
NSFileManager *fileManager = [NSFileManager defaultManager];
//destination is NSString which Contains the absolute address
if ([fileManager fileExistsAtPath:destination])
{
NSLog(@"File Exists!");
}
else
{
BOOL statusOfFile=[fileManager createFileAtPath :destination contents:aData attributes:nil];
}
if(statusOfFile)
printf("\n\nFile Created!");
else
printf("\n\nError in File creation!");
我无法创建文件 - statusOfFile
的值为NO
。
我在GNU中尝试了这个代码并且工作正常 - 这个问题只存在于Xcode中。
有人可以告诉我为什么吗?
有人可以帮忙吗?感谢。
答案 0 :(得分:6)
您的目的地可能是iPhone上的无效路径。如果您希望能够在应用程序沙箱“文档”文件夹中写入文件,请尝试以下代码:
+ (NSString *)dataFilePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Filename.plist"];
return filename;
}
@end
答案 1 :(得分:1)