0
我想創建一個結構或對象,然後將其保存在一個文件中,但我很困惑。 您是否顯示步驟?在Xcode中寫入二進制文件
我試圖使用writeToFile方法,但它不是一個很好的解決方案,因爲我想寫一個結構化文件,其中有各種字段(名稱,姓氏,布爾字段...)。
我不想使用數據庫
我想創建一個結構或對象,然後將其保存在一個文件中,但我很困惑。 您是否顯示步驟?在Xcode中寫入二進制文件
我試圖使用writeToFile方法,但它不是一個很好的解決方案,因爲我想寫一個結構化文件,其中有各種字段(名稱,姓氏,布爾字段...)。
我不想使用數據庫
你可能想要做的是創建一個NSDictionary中或的NSMutableDictionary(其中包含鍵/值配對),然後將其寫入到文件中。這是一個快速而髒的示例。
首先定義你的NSDictionary ...
@property (nonatomic, strong) NSDictionary *someInfo;
然後下面的函數將查找文件。如果文件存在,它會將其讀入NSDictionary;如果該文件不存在,它將創建它並將其寫出。您可能需要使用NSMutableDictionary,因爲您可以在創建後更改值和鍵。另外,請注意保存字符串以外的值(或者nill)。您還可以從viewDidLoad中此功能...
- (void)readDictionary {
// check to see if the file exist
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
objectAtIndex:0];
NSString *docFilePath = [docDir stringByAppendingPathComponent:@"saveinfo.plist"];
NSFileManager *filemgr;
filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath:docFilePath]) {
_someInfo = [[NSDictionary alloc] initWithContentsOfFile:docFilePath];
} else {
_someInfo = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName",
@"Smith", @"lastName", nil];
if (![_someInfo writeToFile:docFilePath atomically:YES]) {
NSLog(@"Errro writing plist");
}
}
//NSLog(@"%@", _someInfo);
}
感謝這個解決辦法,但我認爲這是不適合我,因爲在一個文件中我要救了很多東西用相同的領域;例如我想保存關於聯繫人的信息(名字,姓氏,電話號碼,已婚或不...)。因此,我保存了一個聯繫人的姓名,姓名,電話號碼,已婚或不是...的信息和然後保存追加其他信息(名字,姓氏,電話號碼,已婚或不...)。我不知道我是否準確 –
然後你可能想創建一個dictionarys數組,保存數組與保存字典非常相似。 –