我在我的項目中使用Parse作爲後端。解析 - 保存相關對象
正如你會想到的那樣,數據模型中有很多關係。很多時候我在同一時間創建一個「父」對象及其所有「子」,並將它們全部保存到Parse中。
現在,這樣做時是否需要單獨保存孩子?同樣的文件等等
第一個例子 - 添加頭像用戶對象
UIImage *image = // image from camera
NSData *pngData = UIImagePNGRepresentation(image);
PFFile *imageFile = [PFFile fileWithData:pngData];
[[PFUser currentUser] setObject:imageFile forKey:"avatar"];
OK,所以在設備上我可以參考用戶的@"avatar"
鍵,得到的頭像文件。但是,這應該如何保存到Parse?
如果我做...
[[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
對象之前檢查它是否工作?
謝謝,這是更多的是,雖然節省了家長時,層次結構是否被保存的問題?大多數時候我使用'saveInBackgroundWithBlock:'只是想知道如何單獨保存孩子:D – Fogmeister