Ho testato principalmente utilizzando iPhone 6, 6 plus e iPad. Ho appena provato la mia app oggi sul simulatore di iPhone 5 e ho ricevuto un errore di Core Data.Dati principali Errore scalare solo su alcuni dispositivi
CoreData: error: Property 'setId:' is a scalar type on class 'AppName.EntityName' that does not match its Entity's property's scalar type. Dynamically generated accessors do not support implicit type coercion. Cannot generate a setter method for it
Ora, non v'è alcun oggetto 'setId' nella mia app, ma ovviamente l'entità ha un oggetto 'ID', che è impostato come un int.
class Entity: NSManagedObject {
@NSManaged var id: Int
}
Nel modello Dati di base, il tipo di attributo è impostato su Numero intero64. Questo potrebbe essere il mio problema, perché l'ho scelto senza sapere cosa fosse meglio. Ho altri attributi nel modello e nella classe, ma sono tutti archi.
Alla ricerca di una correzione e una spiegazione del motivo per cui questo accade solo su alcuni dispositivi, quindi posso imparare!
Ho fatto in modo che Xcode creasse la classe, ma successivamente ho aggiunto l'ID. Inoltre, se imposto la proprietà su Int64, devo convertire tutto il mio codice quando provo a inserire i dati in questa proprietà. C'è un modo per rendere invece il modello match Int? – Tim
@Tim: Core Data ha solo numeri interi fissi (16, 32, 64 bit). –
Lo vedo. Quindi non c'è modo di usare Int su tutto il mio codice e quindi convertirlo in una dimensione salvando su CD? Sicuramente grato per i chiarimenti, stavo solo cercando una soluzione più universale. – Tim