Les Données de base; Cacao erreur 134100
C'est ma première fois avec base de données, et j'obtiens l'erreur suivante.
J'apprécierais vraiment si vous pouviez me dire comment résoudre le problème.
Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0x5927880 {metadata=<CFBasicHash 0x59269a0 [0x1007400]>{type = immutable dict, count = 7,
entries =>
2 : <CFString 0x5926e10 [0x1007400]>{contents = "NSStoreModelVersionIdentifiers"} = <CFArray 0x5927240 [0x1007400]>{type = immutable, count = 0, values = ()}
4 : <CFString 0x5927190 [0x1007400]>{contents = "NSPersistenceFrameworkVersion"} = <CFNumber 0x5926ca0 [0x1007400]>{value = +320, type = kCFNumberSInt64Type}
6 : <CFString 0x59271c0 [0x1007400]>{contents = "NSStoreModelVersionHashes"} = <CFBasicHash 0x5927340 [0x1007400]>{type = immutable dict, count = 2,
entries =>
0 : <CFString 0x5927280 [0x1007400]>{contents = "Details"} = <CFData 0x59272f0 [0x1007400]>{length = 32, capacity = 32, bytes = 0x434e180241ecf461e59580e640ff926b ... aa456d1410ed9d1b}
2 : <CFString 0x5927260 [0x1007400]>{contents = "History"} = <CFData 0x59272a0 [0x1007400]>{length = 32, capacity = 32, bytes = 0x3437f77a5563363f66b9d72ea76e0ff1 ... be194eb9dd17cddc}
}
7 : <CFString 0xe238b0 [0x1007400]>{contents = "NSStoreUUID"} = <CFString 0x5926fc0 [0x1007400]>{contents = "6C5FECCB-0B64-46EB-809B-E0A4577D1E90"}
8 : <CFString 0xe23720 [0x1007400]>{contents = "NSStoreType"} = <CFString 0xe238f0 [0x1007400]>{contents = "SQLite"}
9 : <CFString 0x59271f0 [0x1007400]>{contents = "NSStoreModelVersionHashesVersion"} = <CFNumber 0x4d13e20 [0x1007400]>{value = +3, type = kCFNumberSInt32Type}
10 : <CFString 0x5927220 [0x1007400]>{contents = "_NSAutoVacuumLevel"} = <CFString 0x5927380 [0x1007400]>{contents = "2"}
}
, reason=The model used to open the store is incompatible with the one used to create the store}, {
metadata = {
NSPersistenceFrameworkVersion = 320;
NSStoreModelVersionHashes = {
Details = <434e1802 41ecf461 e59580e6 40ff926b 20004ce9 58eb965f aa456d14 10ed9d1b>;
History = <3437f77a 5563363f 66b9d72e a76e0ff1 ed7f70fd cb7035e9 be194eb9 dd17cddc>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
);
NSStoreType = SQLite;
NSStoreUUID = "6C5FECCB-0B64-46EB-809B-E0A4577D1E90";
"_NSAutoVacuumLevel" = 2;
};
reason = "The model used to open the store is incompatible with the one used to create the store";
}
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c
kill
quit
Program ended with exit code: 0
Mon code est ici:
https://gist.github.com/898579
Vous devez vous connecter pour publier un commentaire.
En voici la raison:
Et voici comment vous l'avez fait:
La raison pour cela est parce que votre nouveau modèle d'objet managé est d'essayer d'utiliser l'ancienne version de stockage (un premier temps créé lorsque vous avez lancé l'application).
Rapide et sale solution serait de supprimer le fichier de stockage (quelque part dans ~/Bibliothèque/Application Support/YOUR_APP/) et le lancement de votre application.
De référence pour l'avenir - si vous relâchez une application et dans la prochaine version de l'application a changé d'objet géré le modèle que vous avez à écrire des migrations pour elle. Tout cela et plus encore couvert dans la base de données de programmation de livre de cuisine dans la documentation d'apple.
Il devrait être suffisant si vous supprimez l'application de votre simulateur/de l'appareil.
Vous n'avez pas à modifier les fichiers de votre projet (à l'exception du choix d'un modèle actuel et remplacer les classes à l'aide du menu: Éditeur/Créer NSManaged Objet de la sous-classe).
Vous devez faire les étapes suivantes
Parfois, vous avez besoin de charger des données à partir d'un magasin créé par une autre application, par exemple, l'application est simplement utilisé pour le chargement de données depuis une source extérieure et pour l'enregistrement dans le magasin, et les autre application utilise ce magasin plein de données comme un point de départ.
Je ne veux pas dire que c'est super bon mais en cas de besoin, de temps en temps pendant le développement d'une application: il suffit de changer l'UUID dans le magasin (par SQLVue etc.) pour celui de droite qui est prévu par votre application. Vous trouverez l'UUID dans le tableau appelé dans la plupart des cas ZMETADATA dans le seulement une colonne appelée Z_UUID. Mais rappelez - vous juste pour une mise au point rapide /à des fins de développement. Ne pas utiliser ce programme.
Si vous êtes dans le développement de la mode et vous ne voulez pas supprimer l'application chaque fois que vous modifiez les entités, je recommande d'utiliser cette solution:
Ne pas oublier de changer le
path
avec votre propre chemin.