मैं कैसे बता सकता हूं कि एनएसएमएनेज ऑब्जेक्ट जारी है या नहीं?कैसे बताएं कि NSManagedObject सहेजा गया है या नहीं?
(के रूप में एक नई वस्तु बीड़ नहीं किया गया है कि अभी तक सहेजा या नष्ट कर दिया गया करने का विरोध किया।)
मैं कैसे बता सकता हूं कि एनएसएमएनेज ऑब्जेक्ट जारी है या नहीं?कैसे बताएं कि NSManagedObject सहेजा गया है या नहीं?
(के रूप में एक नई वस्तु बीड़ नहीं किया गया है कि अभी तक सहेजा या नष्ट कर दिया गया करने का विरोध किया।)
जांच अगर अपने ऑब्जेक्ट id लगातार है
BOOL isSaved = !object.objectID.isTemporaryID;
isTemporaryID के बारे में दस्तावेज़:
"हाँ यदि रिसीवर अस्थायी है, अन्यथा नहीं। अधिकांश ऑब्जेक्ट आईडी वापस नहीं आती हैं। किसी ऑब्जेक्ट ऑब्जेक्ट संदर्भ में डाली गई नई ऑब्जेक्ट्स को एक अस्थायी आईडी असाइन की जाती है जिसे ऑब्जेक्ट को लगातार स्टोर में सहेजने के बाद स्थायी के साथ प्रतिस्थापित किया जाता है। "
दाईज-दंजन का उत्तर केवल आईओएस 8.0+ में काम करता है। पुराने संस्करणों के लिए उपयोग करें:
BOOL isSaved = nil != object.objectID.persistentStore;
नहीं। मैं इसका उपयोग करता हूं निचला ओएसएस –
हम्म, अजीब ... "आईओएस 8.0 और बाद में उपलब्ध" (दस्तावेज़ीकरण)। – kpower
प्रलेखन बग मुझे यकीन है कि –
ऐसा प्रतीत होता है तेजी से आप 'उपयोग करने के लिए बजाय' की .temporaryID' .isTemporaryID' –
हाँ है, संपत्ति 'है temporaryID', लेकिन गेटर रीति के' isTemporaryID' सेट किया गया है - तो उद्देश्य-सी इसे '[object.objectId isTemporaryID] के रूप में कॉल करता है' – kpower
लेकिन afaik, किसी ऑब्जेक्ट के लिए एक स्थायी आईडी प्राप्त करना संभव है जो अभी तक जारी नहीं है, अगर मैं गलत हूं तो मुझे सही करें। इससे उत्तर निर्धारित नहीं किया जा सकता है:/ –