2014-05-14 7 views
5

मैं अपने प्रोजेक्ट में बैक एंड के लिए पार्स का उपयोग कर रहा हूं।पार्स - संबंधित वस्तुओं को सहेजना

जैसा कि आप कल्पना करेंगे कि डेटा मॉडल में कुछ संबंध हैं। बहुत समय मैं एक "पैरेंट" ऑब्जेक्ट और उसके सभी "बच्चों" को एक ही पल में बना देता हूं और उन्हें सभी को पार्स में सहेजता हूं।

अब, बच्चों को अलग-अलग सहेजना आवश्यक है? फ़ाइलों आदि के लिए एक ही ...

पहले उदाहरण - तो डिवाइस पर मैं उपयोगकर्ता पर @"avatar" कुंजी संदर्भ और अवतार प्राप्त कर सकते हैं, यदि कोई उपयोगकर्ता वस्तु

UIImage *image = // image from camera 
NSData *pngData = UIImagePNGRepresentation(image); 
PFFile *imageFile = [PFFile fileWithData:pngData]; 
[[PFUser currentUser] setObject:imageFile forKey:"avatar"]; 

ठीक करने के लिए एक अवतार जोड़ना फ़ाइल। लेकिन इसे पारसे में कैसे बचाया जाना चाहिए?

तो मुझे क्या करना ...

[[PFUser currentUser] saveInBackground]; 

यह है कि जोड़ा गया है नई फ़ाइल को बचाने होगा? या क्या मुझे पहले फ़ाइल को सहेजने की आवश्यकता है और इसके बाद इसे उपयोगकर्ता ऑब्जेक्ट में जोड़ने और फिर उपयोगकर्ता ऑब्जेक्ट को सहेजने से पहले सफल होने की प्रतीक्षा करें?

दूसरा उदाहरण

वस्तुओं की एक पेड़ बना रहा है ...

PFObject *family = [PFObject objectWithClassName:@"Family"]; 
[family setObject:@"Smith" forKey:@"familyName"]; 

PFObject *person1 = [PFObject objectWithClassName:@"Person"]; 
[person1 setObject:@"Bob" forKey:@"name"]; 

PFObject *person2 = [PFObject objectWithClassName:@"Person"]; 
[person2 setObject:@"Alice" forKey:@"name"]; 

PFObject *person3 = [PFObject objectWithClassName:@"Person"]; 
[person3 setObject:@"Chris" forKey:@"name"]; 

[family setObject:@[person1, person2, person3] forKey:@"members"]; 

मैं वस्तुओं के इस संग्रह को कैसे सहेज हैं?

क्या मैं सिर्फ [family saveInBackground]; कर सकता हूं?

या मुझे पहले Person ऑब्जेक्ट को सहेजने की प्रक्रिया के माध्यम से जाना है और यह जांचना है कि यह family ऑब्जेक्ट को सहेजने से पहले काम करता है?

उत्तर

3

के लिए सामग्री

Saving an Object to Parse 

– save 
– save: 
– saveInBackground 
– saveInBackgroundWithBlock: 
– saveInBackgroundWithTarget:selector: 
– saveEventually 
– saveEventually: 
Saving Many Objects to Parse 

+ saveAll: 
+ saveAll:error: 
+ saveAllInBackground: 
+ saveAllInBackground:block: 
+ saveAllInBackground:target:selector: 

देखें Here बचत माता-पिता और बच्चे के बीच संबंध के रूप में करने के लिए तरीके की एक विस्तृत श्रृंखला सूचक है , आपको पहले बच्चे को बचाने की ज़रूरत नहीं है। पीएफरेलेशन अलग-अलग काम करता है, लेकिन मूल वस्तु पर एक बचत पॉइंटर्स के रूप में बच्चों को भी बचाएगा। यह क्लाउड कोड के लिए सच है, और मुझे पूरा यकीन है कि यह डिवाइस के लिए भी सच है।

इस जवाब में कुछ विवरण: https://www.parse.com/questions/cloud-code-efficient-hierarchy-saving

0

हाँ कि क्या करेंगे ... वास्तव में जब तक अधिक

+0

धन्यवाद, इसे और अधिक पदानुक्रम सहेजा जाता है कि क्या जब हालांकि माता-पिता को बचाने का सवाल था? अधिकांश समय मैं 'saveInBackgroundWithBlock' का उपयोग कर रहा हूं: 'बस बच्चों को व्यक्तिगत रूप से सहेजने के बारे में सोच रहा था: डी – Fogmeister

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