2015-01-27 11 views
8

से पार्स स्थानीय संग्रहण में पिन किए गए PFObject को अद्यतन करें object.saveEventually() तक, मैं अपने डेटा को स्थानीय भंडारण में क्लास में क्लास के साथ सिंक करने में सक्षम हो जाऊंगा।पार्स क्लाउड

जब एक वस्तु पिन किया गया है, हर बार जब आप इसे स्थानीय में प्रतिलिपि प्राप्त करने या नए डेटा बचत द्वारा अद्यतन:

लेकिन यहाँ है कि मैं क्या के बारे में उलझन में हूँ, दस्तावेज़ में, यह घोषणा करता है डेटासंग्रह स्वचालित रूप से

अपडेट कर दिया जाएगा लेकिन फिर, अगले उदाहरण के लिए, कुछ पैराग्राफ दूर, सभी वस्तुओं unpins तो नाम के साथ नए scores सरणी पिन करके उन्हें HighScores अद्यतन करता HighScores

+०१२३५१६४१०
PFQuery *query = [PFQuery queryWithClassName:@"GameScore"]; 
[query orderByDescending:@"score"]; 

// Query for new results from the network 
[[query findObjectsInBackground] continueWithSuccessBlock:^id(BFTask *task) { 
    return [[PFObject unpinAllObjectsInBackgroundWithName:@"HighScores"] continueWithSuccessBlock:^id(BFTask *ignored) { 
    // Cache the new results. 
    NSArray *scores = task.result; 
    return [PFObject pinAllInBackground:scores withName:@"HighScores"]; 
    }]; 
}]; 

इसलिए, क्या मुझे HighScores में मौजूदा स्कोर अपडेट करने के लिए HighScores की सभी ऑब्जेक्ट्स को अनपिन करना चाहिए?

findObjectsInBackground स्वचालित रूप से किसी भी पाए गए ऑब्जेक्ट को पिन किया गया है जो पिन किया गया है? मैं काफी उलझन में हूँ।

धन्यवाद!

+0

मैंने सभी ऑब्जेक्ट्स को अनपिन नहीं किया और यह अभी भी काम करता है। !!! –

+0

क्या यह 'findObjectsInBackground' या 'fetchAllInBackground' है? – donkey

उत्तर

3

मुझे पता चला कि findObjectsInBackground और fetchAllInBackgroundobjectId से मेल खाने वाली किसी भी पिन की गई वस्तु को अपडेट करेगा।

यह कहना है कि, जब आप प्रारंभ में कोई ऑब्जेक्ट बनाते हैं, तो इसमें objectId नहीं होगा, लेकिन आप अभी भी इसे सहेजने के बिना इस ऑब्जेक्ट को पिन कर सकते हैं। हालांकि, आप find या fetch नहीं कर सकते हैं जब तक कि आप इसे क्लाउड में सफलतापूर्वक सहेज न लें। तो कोड में, आपको इन विशेष PFObjects को चेरीपिक करना होगा और उन्हें कुछ अन्य तरीकों से अपडेट करना होगा या उन्हें अपडेट नहीं करना होगा।

+0

मुझे एक ही समस्या का सामना करना पड़ रहा है। यदि हम पृष्ठभूमि में पिन किए गए ऑब्जेक्ट को नहीं ला सकते हैं, तो इस समय पिनिंग का उपयोग क्या है। यह बेहतर होगा, अगर हम पहले क्लाउड में सहेजते हैं और फिर केवल उद्देश्य देखने के लिए पिन करते हैं। – umakanta

संबंधित मुद्दे