我的班级在读取和写入数据到 plist 时遇到问题。这是一些代码:
第一个块来自我的自定义类,其中包含我所有的 plist 读写方法。
-(NSString *) dataFilePath{
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [path objectAtIndex:0];
return [documentDirectory stringByAppendingPathComponent:@"userInformation.plist"];
}
-(bool)readUserIsMale{
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
NSDictionary *boolDict = [[NSDictionary alloc] initWithContentsOfFile:[self dataFilePath]];
return [[boolDict objectForKey:@"boolUserIsMale"] boolValue];
}
return nil;
}
-(void)writeUserIsMale:(bool)boolValue{
NSDictionary *boolDict = [[NSDictionary alloc] init];
[boolDict setValue:[NSNumber numberWithBool:boolValue] forKey:@"boolUserIsMale"];
[boolDict writeToFile:[self dataFilePath] atomically:YES];
}
然后我在另一个需要导入的类中,创建和使用类方法:
#import "plistReadWrite.h"
plistReadWrite *readWrite;
如果我尝试在控制台中查看它的值,我会得到 (null) 返回。
NSLog(@"%@",[readWrite readUserIsMale]);
这当然是在我写了一些数据之后:
[readWrite writeUserIsMale:isUserMale];
isUserMale
是一个布尔值。
任何帮助将不胜感激,如果您需要更多信息,请告诉我。谢谢。