चलें कहते हैं कि मैं इस परिदृश्य पर है ...एक क्षेत्र से एक वस्तु का पता लगाएं?
ViewController1
मुख्य थ्रेड पर एक क्षेत्र से एक Person
वस्तु लोड करता है और ViewController2
को पास कर देता। ViewController2
में उपयोगकर्ता इंटरैक्शन उसी Person
ऑब्जेक्ट को बदलने का कारण बनता है, लेकिन उपयोगकर्ता ने "सहेजें" दबाए जाने के बाद ही परिवर्तनों को जारी रखना चाहते हैं।
वर्तमान में, ऑब्जेक्ट ViewController2
में ऑब्जेक्ट को बदलते समय एक रनटाइम त्रुटि फेंक दी जाती है जिसमें किसी ऑब्जेक्ट में परिवर्तन लिखने वाले ब्लॉक में किए जाने की आवश्यकता होती है। यह समझ में आता है, लेकिन इस परिदृश्य में मैं वास्तव में परिवर्तनों को तुरंत जारी रखना नहीं चाहता हूं।
- क्या इन चेक से बचने के लिए किसी दायरे से ऑब्जेक्ट को अलग करने का कोई तरीका है?
- यदि नहीं है, तो आसपास सुझाए गए काम का क्या होगा? (एक नया उदाहरण के लिए वस्तु प्रतिलिपि बनाई जा रही? अलग वस्तु में परिवर्तन ट्रैकिंग और बाद में उन्हें लागू करने के? दोनों बहुत गंदा लग रहे हैं।)
शायद संबंधित https://github.com/realm/realm-java/issues/1202 – Ixx
यहां देखें: https://realm.io/docs/swift/latest/ "ऑब्जेक्ट अपडेट करना" अनुभाग में, यदि आपके पास है एक प्राथमिक कुंजी जिसे आप 'Realm() जोड़ सकते हैं। जोड़ें (_: अद्यतन:) '। तो ऐसा लगता है कि आपने ऑब्जेक्ट को फिर से बनाया है और जब आप इसे सहेजना चाहते हैं तो लिखना लेनदेन करें और अपडेट करें। – Ixx
धन्यवाद Ixx, यह वही समस्या है जिसका मैं अनुभव कर रहा हूं। मेरी वस्तु काफी बड़ी है (बहुत सारे फ़ील्ड) और मैं इसे हर बार एक नई वस्तु में कॉपी नहीं करना चाहता हूं। :( – lionpants