tto*_*tto 4 iphone nsfilemanager nsdocumentdirectory
我想在iPhone 5.1模拟器上的文档文件夹中保存数据.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, @"myData.json"];
if ([[NSFileManager defaultManager] isWritableFileAtPath:filePath]) {
NSLog(@"Writable");
}else {
NSLog(@"Not Writable");
}
Run Code Online (Sandbox Code Playgroud)
我总是"不可写".任何的想法?请帮我.
xda*_*001 19
也许是因为您尚未创建文件,因此您测试的文件不存在.:)
你可以这样做来找到问题,
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, @"myData.json"];
NSLog(@"filePath %@", filePath);
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { // if file is not exist, create it.
NSString *helloStr = @"hello world";
NSError *error;
[helloStr writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
}
if ([[NSFileManager defaultManager] isWritableFileAtPath:filePath]) {
NSLog(@"Writable");
}else {
NSLog(@"Not Writable");
}
Run Code Online (Sandbox Code Playgroud)
试试这个:
NSString *data = .... // your json representation
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"myData.json"];
[data writeToFile:appFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26433 次 |
| 最近记录: |