我的应用程序中有两个tableViews,用户应该可以向它们添加对象。使用一个tableView它可以正常工作(只有一个coreData 实体)。但是当我添加另一个实体并执行与只有一个tableView相同的操作时,xcode会向我显示错误。
输出结果为:
Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0x10333d80 {metadata={
NSPersistenceFrameworkVersion = 419;
NSStoreModelVersionHashes = {
Buy = <883135e4 2884b0ed 4bb8fc1c 7d56c229 fbae3090 91be719d 73ac5d66 65e70b18>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
""
);
NSStoreType = SQLite;
NSStoreUUID = "...";
"_NSAutoVacuumLevel" = 2;
}, reason=The model used to open the store is incompatible with the one used to create the store}, {
metadata = {
NSPersistenceFrameworkVersion = 419;
NSStoreModelVersionHashes = {
Buy = <883135e4 2884b0ed 4bb8fc1c 7d56c229 fbae3090 91be719d 73ac5d66 65e70b18>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
""
);
NSStoreType = SQLite;
NSStoreUUID = "...";
"_NSAutoVacuumLevel" = 2;
};
reason = "The model used to open the store is incompatible with the one used to create the store";
}
(lldb)
我已经尝试解决这个问题好几个小时了,但我在第二个tableView中做的和第一个一样。
也许有人可以帮助我。谢谢你提前
答案 0 :(得分:0)
在设计模型时,您需要进行迁移:
所以你应该做的第一件事是创建一个新的模型版本。
对于添加字段和实体的事情,coredata可以通过轻量级迁移自动执行此操作。对于更复杂的事情,您需要创建映射模型。
如果您的应用不在商店中且没有任何用户,则根本不需要担心迁移。只需从手机/模拟器中删除应用程序并运行您的应用程序。如果您在商店中有应用程序,则必须指定新的模型版本并进行迁移。