Qualcuno sa o ha un esempio di come gestire i valori transitori dei dati di base con Swift? So di usare @NSManaged prima delle proprietà, ma non riesco a capire come codificare la logica per costruire i valori transitori usando Swift.Valori transitori dei dati di base con Swift
risposta
Contrassegnare il campo transitorio nel modello dati per attributo particolare (ad esempio sectionTitle
).
Creare classe per quell'entità, essa sarà simile a
class Message: NSManagedObject {
@NSManaged var body: String?
@NSManaged var time: NSDate?
@NSManaged var sectionTitle: String?
}
modificarlo e renderlo in questo modo:
class Message: NSManagedObject {
@NSManaged var body: String?
@NSManaged var time: NSDate?
var sectionTitle: String? {
return time!.getTimeStrWithDayPrecision()
//'getTimeStrWithDayPrecision' will convert timestamp to day
//just for e.g.
//you can do anything here as computational properties
}
}
Update-Swift4
Usa @objc
tag per Swift 4 come:
@objc var sectionTitle: String? {
return time!.getTimeStrWithDayPrecision()
}
Funziona bene se "Codegen" nella proprietà Entity è impostato su "manual/none". Come gestirlo "Codegen" è impostato su "Category/Extension"? – Satyam
Con swift 4 ho dovuto usare "@objc dynamic var sectionTitle: String? {...}" in un caso simile per farlo funzionare. – user3687284
Sì, permettimi di aggiornare la risposta per Swift 4 – D4ttatraya
Dovremmo utilizzare willAccessValueForKey e didAccessValueForKey per supportare KVO
- 1. Attributi calcolati transitori dei dati principali
- 2. recupero dei dati di base nelle celle tableview swift
- 3. Cifratura dei dati di base
- 4. Errore di donazione dei dati di base
- 5. iOS Swift - Esempi di dati di base con una relazione dati complessa
- 6. colpa Rapporto con i dati di base
- 7. Swift ottiene specifici NSManagedObject dall'entità (dati di base)
- 8. Enum con dati in swift
- 9. Eliminazione dei file xcdatamodel della versione dei dati di base
- 10. Dati principali: utilizzo di Proprietà transitori nel gruppo
- 11. Ordinamento sui campi "transitori" con NSFetchedresultController
- 12. Compilare script Swift con libreria di base statica Swift
- 13. Gestione dei dati XML con Alamofire in Swift
- 14. Monitora l'utilizzo dei dati cellulari utilizzando swift
- 15. Acquisizione e modifica dei dati di base sul termostato Nest
- 16. Eseguire il debug della migrazione dei dati di base per confrontare i valori hash
- 17. Descrittore di ordinamento dei dati principali con NSDate, iOS con Swift
- 18. Sostituire valori in frame di dati con altri valori in base a una regola
- 19. Rappresentazioni transitori REST
- 20. Estrarre i dati da NSData con Swift
- 21. Recupero dei valori di classe in base a una chiave
- 22. Confronto dei tipi con Swift
- 23. Migrazione dei dati di base: come eliminare lo stack dei dati principali?
- 24. Dati primari Filtraggio dei dati REST in base all'utente
- 25. Sostituire i valori nel frame di dati in base ad altro frame di dati in R
- 26. Perché i metodi Java con vararg identificati come transitori?
- 27. Strano cambiamento valore quando il salvataggio dei dati di tipo doppio (geolocalizzazione) nella base di dati
- 28. iOS: backup del database dei dati di base in iCloud?
- 29. Procedura consigliata per esportare le entità dei dati di base
- 30. Come posso testare una migrazione dei dati di base?
Avere @NSManaged non mi consente di creare un getter per la proprietà transiente in Swift. Mi piacerebbe sapere come funziona la proprietà transitoria anche in Swift. – Sam
possibile duplicato di [getter di attributi CoreData Swift e transient] (http://stackoverflow.com/questions/25960555/coredata-swift-and-transient-attribute-getters) – Ian
Hai risolto questo problema? Il link fornito è stato d'aiuto? – Orion