2014-09-26 16 views

risposta

24

controllo se il suo oggetto id è persistente

BOOL isSaved = !object.objectID.isTemporaryID; 

documentazione su isTemporaryID:

"SI se il ricevitore è temporaneo, altrimenti NO La maggior parte degli ID oggetto restituisce NO. I nuovi oggetti inseriti in un contesto oggetto gestito sono assegnati a un ID temporaneo che viene sostituito con uno permanente una volta che l'oggetto viene salvato in un archivio persistente. "

+2

Sembra che in rapida devi usare '.temporaryID' invece di' .isTemporaryID' –

+0

Sì, la proprietà è 'temporaryID', ma getter è impostato su misura' isTemporaryID' - così Objective-C lo chiama come '[object.objectId isTemporaryID]' – kpower

+0

Ma anche dopo, è possibile ottenere un ID permanente per un oggetto che non è ancora persistente, correggimi se ho torto. Ciò porterebbe alla risposta non deterministica:/ –

4

La risposta di Daij-Djan funziona solo con iOS 8.0+. Per le vecchie versioni usa:

BOOL isSaved = nil != object.objectID.persistentStore; 
+0

No. Lo uso su lower oss –

+0

Hmm, strano ... "Disponibile in iOS 8.0 e versioni successive" (documentazione). – kpower

+0

Errore nella documentazione im. –

Problemi correlati