私はplistにデータを読み書きするクラスに問題があります。ここにいくつかのコードがあります:Plist Read and Write iPhone
この最初のチャンクは私のすべての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;
私がしようとすると、コンソールにその値が表示されている場合、私は(ヌル)のリターンを得ます。私はそうのようないくつかのデータを書いた後
NSLog(@"%@",[readWrite readUserIsMale]);
これはもちろんです:
[readWrite writeUserIsMale:isUserMale];
isUserMale
がブール値です。
これ以上の情報が必要な場合は、何か助けていただければ幸いです。ありがとう。