मैं वर्तमान में CloudKit मेरे एप्लिकेशन में सेट करें जिससे मैं नीचे निम्न कोड की मदद का उपयोग कर एक नया रिकार्ड द्वारा जोड़ा जा रहा मिला है,क्लाउडकिट: सभी रिकॉर्ड एक निश्चित रिकॉर्ड प्रकार के साथ प्राप्त करें?
CKRecordID *recordID = [[CKRecordID alloc] initWithRecordName:@"stringArray"];
CKRecord *record = [[CKRecord alloc] initWithRecordType:@"Strings" recordID:recordID];
[record setObject:[NSArray arrayWithObjects:@"one", @"two", @"three", @"four", nil] forKey:@"stringArray"];
[_privateDatabase saveRecord:record completionHandler:nil];
हालांकि, अब मैं सभी को लाने के लिए सक्षम होने के लिए चाहते हैं रिकॉर्ड जो एक ही रिकॉर्ड प्रकार के हैं, "स्ट्रिंग्स", और एनएसएआरएआरई में संकलित किए गए लौटें। मुझसे यह कैसे होगा? वर्तमान में, मुझे पता चला है कि प्रत्येक रिकॉर्ड को व्यक्तिगत रूप से कैसे प्राप्त किया जाए, रिकॉर्ड आईडी का उपयोग करके, जो परेशानी है, वहां एक आसान तरीका होना चाहिए।
[_privateDatabase fetchRecordWithID:recordID completionHandler:^(CKRecord *record, NSError *error) {
if (error) {
// Error handling for failed fetch from private database
}
else {
NSLog(@"ICLOUD TEST: %@", [record objectForKey:@"stringArray"]);
}
}];
CKQuery API संदर्भ के अनुसार: "विधेय आधारित हैं प्रारूप स्ट्रिंग पर। आप मान या ब्लॉक-आधारित भविष्यवाणियों का उपयोग नहीं कर सकते हैं। " मुझे नहीं लगता कि यह हमेशा ऐसा ही था, लेकिन वर्तमान में न तो जवाब सही होगा क्योंकि वे 'NSPredicate (value:)' –
@JamesLingo का उपयोग करते हैं, क्या आपने इसे आजमाया है? क्या यह एक अनुमान है? 'NSPredicate (value: true) 'पूरी तरह ठीक है –
मैंने इसे अतीत में उपयोग किया है, लेकिन ऐसा करने वाले किसी को यह पता होना चाहिए कि क्लाउडकिट के लिए यह समर्थित नहीं है, ऐप्पल के अपने दस्तावेज़ के अनुसार। ऐप्पल बहुत अच्छे बदलाव कर सकता है जो उस कोड को तोड़ देगा, और इसे मूल्य या ब्लॉक आधारित भविष्यवाणियों का उपयोग करके w/आउट किया जा सकता है। –