[英]Can't write to custom .plist
请考虑以下代码:
- (IBAction)testButton:(id)sender{
//create BFF with random id
BFF * testBff = [[BFF alloc]init];
testBff.relationType=@"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
中。
-路径似乎很好
-“变量”检查器指示“数据” NSDictionary
包含值为NSMutableData
类型的键
但是,不知何故,什么都没有写入文件。
如果我改变
[data setObject: encodedBFF forKey:testBff.id];
至
[data setObject: @"foo" forKey:@"bar"];
写入文件。 如此看来,我的编码尝试失败了吗?
我在这里做错了什么?
我按以下方式解决了问题:显然,罪魁祸首是在这一行中设置密钥:
[数据setObject:encodedBFF forKey:testBff.id];
我改为
[myPlist setObject:encodedBFF forKey:[testBff.id stringValue]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.