1
我有一個問題,我無法在iOS 8中保存,但它在iOS 7中工作正常。請問哪裏是我的問題?在iOS 8中無法將寫入文件寫入全路徑問題
.h
NSMutableArray *selected;
.m
- (void)saveSelected
{
if (![selected writeToFile:[SettingVO toFullPath:@"selected"] atomically:YES])
{
NSLog(@"Could not save selected!!! %@", selectedParitems);
}
}
更新:我有包括toFullPath
方法,我調試它。我發現在iOS 7中,如果fileMgr
沒有通過拋出,並且在iOS 8下工作正常,則返回nil。我希望這有幫助。
+ (NSString *)toFullPath:(NSString *)path
{
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSURL *url = [NSURL fileURLWithPath:bundlePath];
NSMutableArray *components = [NSMutableArray arrayWithArray:[url pathComponents]];
[components removeLastObject];
[components addObject:@"Documents"];
[components addObject:@"data"];
NSString *fullPath = [NSString pathWithComponents:components];
NSFileManager *fileMgr = [NSFileManager defaultManager];
if (![fileMgr fileExistsAtPath:fullPath isDirectory:NULL])
{
if ([fileMgr createDirectoryAtPath:fullPath withIntermediateDirectories:NO attributes:nil error:nil])
{
//--N-SLog(@"+ Items directory created.");
}
else
{
//--N-SLog(@"- Couldn't create Items directory!!!");
return nil;
}
}
return [fullPath stringByAppendingPathComponent:path];
}
'[SettingVO toFullPath:@「選擇」]'返回什麼? – 2014-09-30 11:57:30
在iOS 8中返回NULL,但在iOS 7中返回「/ Users/CANCAN/Library/Developer/CoreSimulator/Devices/BD971C52-6E84-4DDA-A90F-588476CFA2D1/data/Applications/D5E87B2C-C027-4F53-88B1 -6FFF989CD5D8/Documents/data/selected「哪一個路徑@PhillipMills – CAN 2014-09-30 12:29:49
你可以使用'toFullPath:'裏面的調試器來找出它返回NULL的原因。 – 2014-09-30 12:31:18