2013-12-24 73 views
3

以下簡單示例創建三個PFObjects併爲其中的每個PFObject調用saveEventually一次。第一個對象是一個Parent,另外兩個是Children。孩子們指向他的父母。使用saveEventually時,Parse.com中的意外/額外行

PFObject *a = [PFObject objectWithClassName:@"Parent"]; 
[a setObject:@"Test" forKey:@"Test"]; 
[a saveEventually]; 

PFObject *b = [PFObject objectWithClassName:@"Child"]; 
[b setObject:a forKey:@"parent"]; 
[b saveEventually]; 

PFObject *c = [PFObject objectWithClassName:@"Child"]; 
[c setObject:a forKey:@"parent"]; 
[c saveEventually]; 

在此之後運行,我希望看到:

在家長
  • 一行與測試列中的「測試」值。
  • Child中的兩行都有一個指向父列中父行的指針。

相反,我看到:在

家長
  • 一行與測試柱 「測試」 值。 (預計)
  • Parent中的一行在「測試」列中具有「(未定義)」值。 (意外)
  • Child中的兩行都有一個指向預期父行的指針。 (預期)

如果例子是廣義的N個孩子,似乎總有:

  • 一排家長與測試柱「測試」值。 (預計)
  • Parent中的N-1行在「測試」列中具有「(未定義)」值。 (意外的)
  • N行中的每個Child都有一個指向預期父行的指針。 (預計)

所有的觀察都是使用Parse的數據瀏覽器進行的。如果不是意料之外的父行,一切都會很好。任何想法這裏發生了什麼?

謝謝!

回答

0

根據Parse(HéctorRamos)的說法,嵌套對象時不應該使用saveEventually。

this post on the Parse help forum

saveEventually是不適合當被同時保存 關係的多個未保存的對象。你有沒有試過 saveInBackground?

我和你有同樣的行爲。它差不多的作品,但你結束了在表中的許多額外的條目。吸:(

+0

很高興聽到別人看到這一點,它不僅僅是我的想象中的一個幻想。不幸的是,布賴恩克里姆特(也是Parse的)似乎說,一切應該工作得很好[在這篇文章中同一論壇](https://parse.com/questions/how-does-allow-saveeventually-of-objects-with-relations-to-other-new-unsaved-objects-work)。 – Bezewy