最好只保存要保留的值。您应该创建实体来存储您的值。
您可以为任何表单值拥有一个实体,与另一个实体具有一对多关系 - 这是您拥有的帖子值的简单键/值对
本教程是我用来学习基本 CoreData 的教程。它会引导您创建实体并在它们之间建立关系
编辑:在评论中回答您的问题:
我会假设你有模型(数据类/实体或你称之为的任何东西)来代表“一篇文章”。我还没有看到你的代码,我不确定你是如何编写它的,但这就是我将如何实现它。
1)有一个从用户那里获取数据的表单。(以及代表这种形式的模型)
2)用户点击“发送”,将数据(作为模型)传递给网络服务,网络服务将其转换为 FormDataRequest 并尝试发送。
3)如果网络失败,(或者如果用户只是点击“保存草稿”),模型然后被发送到数据服务,该数据服务将模型保存到 CoreData。(创建一个 CoreData 实体 - 如果与模型不同,它应该相似 - 复制值并保存实体)
作为(一半)伪代码:P
class MyFormViewController{
// Obviously declared in the header file ;)
TextField name;
TextField dob;
...
// View Stuff dealing with displaying the form
...
function getModelForFieldValues() {
Model m;
m.name = name.Text;
m.dob = dob.Text;
return m;
}
function send_buttonPress() {
Model myModel = getModelForFieldValues();
BOOL success = NetworkService.send(myModel); //Attempts to send the data over the network
if(!success) {
DataService.save(myModel); //Saves the model data to CoreData
}
}
function saveDraft_buttonPress() {
Model myModel = getModelForFieldValues();
DataService.save(myModel);
}
}