Предположим, у меня есть пользовательская функция savePlist, как показано ниже.
CommonClass.m
- (NSString *)getDirectoryPath
{
NSArray *pathList = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [pathList objectAtIndex:0];
return path;
}
- (void)savePlist:(NSString *)fileName WithArray:(NSArray *)fileArr
{
NSString *path = [[self getDirectoryPath] stringByAppendingPathComponent:fileName];
[fileArr writeToFile:path atomically:YES];
}
Пока я запускаю код, как показано ниже, plist не создается.
ABCAppDelegate.m
...
[cc savePlist:@"example.plist" WithArray:[NSArray new]];
Файл example.plist не был создан, есть ли ошибки в моем коде?
Спасибо
ОБНОВЛЕНИЕ:
Если я использую код, указанный ниже, файл xxx.plist был успешно создан.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *plistFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"abc.plist"];
NSMutableDictionary *plist = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile];
if (!plist) {
plist = [NSMutableDictionary new];
[plist writeToFile:plistFile atomically:YES];
NSLog(@"write plist");
}
Ссылка: ссылка
ОБНОВЛЕНИЕ 2:
Я меняю код, как показано ниже:
NSLog(@"code");
[cc savePlist:@"example.plist" WithArray:[NSArray new]];
NSLog(@"code");
- (void)savePlist:(NSString *)fileName WithArray:(NSArray *)fileArr
{
NSLog(@"fileName = %@, fileArr = %@", fileName, fileArr);
NSString *path = [[self getDirectoryPath] stringByAppendingPathComponent:fileName];
NSLog(@"path = %@", path);
[fileArr writeToFile:path atomically:YES];
}
Он просто распечатывает:
2011-10-10 14:24:00.560 ABC[3390:207] code
2011-10-10 14:24:00.561 ABC[3390:207] code
Нет сообщений fileName = и fileArr =, такжепуть = распечатать в журнале, поэтому код внутри savePlist не был выполнен?