0
請考慮下面的代碼:無法寫入定製的.plist
- (IBAction)testButton:(id)sender{
//create BFF with random id
BFF * testBff = [[BFF alloc]init];
[email protected]"BFF";
testBff.id= [NSNumber numberWithInt:(arc4random() % 100)];
testBff.handshake=[NSDate date];
//Encode the object
//Since a .plist doesn't take custom objects, I convert my object into type NSData*
NSData *encodedBFF = [NSKeyedArchiver archivedDataWithRootObject:testBff];
//Insert the data into the plist and save
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myBFFS.plist"];
[data setObject: encodedBFF forKey:testBff.id];
[data writeToFile:path atomically:YES];
}
我希望每一個我打連接到這個方法的按鈕時,一個新的對象將被添加到myBFFs.plist
居住在我的文件夾。
-The路徑似乎要被罰款
-The變量檢查表明,「數據」 NSDictionary
包含不知怎麼的,但是,沒有數據被寫入到文件類型NSMutableData
的價值的關鍵。
如果我改變
[data setObject: encodedBFF forKey:testBff.id];
到
[data setObject: @"foo" forKey:@"bar"];
文件被寫入。顯然,我的編碼嘗試失敗了?
我在這裏做錯了什麼?
好的我考慮過了。這個語句是什麼if(![fileManager fileExistsAtPath:path]){path =(與前一個值相同); }'實現? – trojanfoe
哦,那只是一些樣板代碼。看到我更新的問題:寫入文件工作正常,但似乎該文件的結構不被接受。我將簡化我的問題以放大真正的問題。 – Sjakelien
如何獲取一些錯誤信息? – trojanfoe