我有一个应用程序,我想为我玩游戏的每个人保存一个用户名,然后将其检索到一个可用于为tableview创建标题的数组中。我正在使用此代码保存文件。
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *slash2 = [documentsDirectory stringByAppendingString:@"/Names"];
if (![[NSFileManager defaultManager] fileExistsAtPath:slash2])
[[NSFileManager defaultManager] createDirectoryAtPath:slash2 withIntermediateDirectories:NO attributes:nil error:&error1];
//yourName is the userName of the challenger
NSString *fullPath = [slash2 stringByAppendingPathComponent:yourName];
当我看到路径时
NSLog(@"path :%@",fullPath);
我得到了
"Names/Mary",
"Names/John",
我想将这些名称从文件目录中获取到一个数组中,使用的是tableview。我试过了
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *slasha = [documentsDirectory stringByAppendingPathComponent:@"/Names"];
NSArray *arrayFromFile = [NSArray arrayWithContentsOfFile:slasha];
for (NSString *element in arrayFromFile)
NSLog(@"Names: %@", element);
但没有出现
我做错了什么,我该怎么做
答案 0 :(得分:1)
user1114881,
创建文件夹以在tableView标题中显示挑战者名称,严重???我会说这是一个非常错误的方法。
话虽如此,现在让我解决你的问题,
gcc -Wall -Wextra yourFileName.c
你正在做的错误是,你从未为用户创建过文件,你刚刚创建了一个名为Names的文件夹。您需要调用createFileAtPath来创建文件。
为了阅读文件夹中的所有文件
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *slash2 = [documentsDirectory stringByAppendingString:@"/Names"];
if (![[NSFileManager defaultManager] fileExistsAtPath:slash2])
[[NSFileManager defaultManager] createDirectoryAtPath:slash2 withIntermediateDirectories:NO attributes:nil error:&error1];
//yourName is the userName of the challenger
NSString *fullPath = [slash2 stringByAppendingPathComponent:yourName];
BOOL Success = [[NSFileManager defaultManager] createFileAtPath:fullPath contents:nil attributes:nil];
您现在必须能够看到文件夹名称中所有文件的列表:)
快乐的编码。