मैं रिकॉर्ड प्रकार बनाने की कोशिश कर रहा हूं जिसमें अद्वितीय मान हैं, और लक्ष्य संदर्भ ऑब्जेक्ट्स के रूप में अन्य रिकॉर्ड प्रकार के रूप में कार्य करेंगे। उदाहरण के लिए, रिकॉर्ड प्रकार - मूवीज़ में उपयोगकर्ताओं द्वारा सबमिट की गई फिल्मों की अनूठी सूची होगी। और पसंदीदामोवियों में एक उपयोगकर्ता संदर्भ और एक मूवी संदर्भ होगा। उपयोगकर्ता मौजूदा फिल्मों की सूची से चयन कर सकते हैं, या इसमें नए जोड़ सकते हैं।क्लाउडकिट - रिकॉर्ड नहीं सहेजने के लिए अगर
समस्या तब होती है जब मैं एक नया मूवी रिकॉर्ड बनाता हूं, जबकि दूसरा उपयोगकर्ता एक ही नाम के साथ एक नया रिकॉर्ड बनाता है (फिल्मों की सूची को पुनर्प्राप्त करने के बाद, लेकिन इससे पहले कि मैं एक नया जोड़ने का प्रयास करता हूं)। दो नए रिकॉर्ड अलग-अलग रिकॉर्ड आईडी के साथ अलग-अलग रिकॉर्ड मानते हैं। इसका मतलब है कि एक बार जब मैंने नया सहेजा, तो सहेजने वाले नामों के साथ मूवीज़ के दो उदाहरण होंगे।
मैं मूवी रिकॉर्ड प्रकार में सहेजने के लिए एक प्रकार का अस्तित्व टाइप करने का तरीका नहीं ढूंढ पा रहा हूं। मैं पूरा होने में एक बचत कर सकता हूं एक प्रश्न की जांच, लेकिन उन दो कार्यों को विशिष्टता की गारंटी के लिए परमाणु लेनदेन नहीं होगा। जहां तक मुझे पता है कि यह CKQueryOperation
चेनिंग CKModifyRecordsOperation
के साथ भी मामला है।
क्या केवल एक रिकॉर्ड डालने का कोई तरीका है यदि मूल्य एक लेनदेन में मौजूद नहीं है?
दुर्भाग्यवश यह मेरे लिए काम नहीं करता है। मैं सूची में जोड़ने के लिए movieRecord का एक नया उदाहरण बना रहा हूं। यदि किसी अन्य उपयोगकर्ता ने उसी नाम के साथ एक रिकॉर्ड बनाया (जब मैंने फिल्मों की सूची पुनर्प्राप्त की, लेकिन इससे पहले कि मैं एक नया जोड़ने का प्रयास करता हूं), उन्हें अलग-अलग रिकॉर्ड माना जाता है क्योंकि उनके पास अलग-अलग रिकॉर्ड आईडी हैं। इसका मतलब है कि भले ही मेरी savePolicy को IfServerRecordUnchanged पर सेट किया गया हो, ऑपरेशन कोई त्रुटि नहीं फेंकता है। इसके बजाय मैं एक ही नाम के साथ दो अलग-अलग रिकॉर्ड देखूंगा। – Denis
समझ गया। यह काम करेगा यदि आपने movieRecord.recordID.record फिल्म के नाम का नाम दिया है। मेरे पास सार्वजनिक डेटाबेस का उपयोग कर एक समान उपयोग केस है और यही वह है जो मैं सार्वजनिक रिकॉर्ड अद्वितीय रखने के लिए कर रहा हूं। मैंने धारणा को ध्यान में रखते हुए जवाब में एक संपादन किया। –
अच्छा विचार, यह काम मेरे लिए यह करेगा। धन्यवाद! – Denis