2014-01-11 32 views
0

我有一個數據模型與兩個實體之間的關係一對多。讓他們叫他們市< - >>人。多個實體在一個UITableview中

在我的tableview目前顯示每個城市,由分節(目前每節中的一個單元格)分隔。

有沒有什麼辦法讓我在相應的部分添加連接到特定城市的每個人? (添加與連接城市的人數一樣多的單元格)

即時通訊使用兩個不同的fetchedResultsControllers來訪問實體,但不能完全弄清楚如何做到這一點。 最終Id像每個部分第一個細胞成爲一個城市,其次是該城市的所有人。

任何幫助或指針在正確的方向將不勝感激。

+1

您是否真的必須在單元格中顯示每個城市?也許顯示城市作爲部分標題就足夠了。這樣你將只需要處理一個fetchedResultsController(對Person實體),這將簡化很多事情。 –

+0

我確實需要能夠顯示所有細胞的詳細信息,包括城市和人員。但是,如果這種方式更容易,也許我可以修改分區頭像看起來像單元格,仍然能夠以這種方式顯示城市detailview。 – Blomdell

+0

你認爲這將是一個更好的解決方案? @MichałCiuba – Blomdell

回答

0

正如Michal在評論中提到的那樣。一個更清潔的設計將用於您的城市實體在部分標題中顯示(非常容易),並將您的人物作爲行對象放在部分中。

要做到這一點,您需要在城市中添加一個唯一的標識符作爲您的路段NSFetchedResultsController。由於該屬性採用關鍵路徑,因此您可以指定類似city.name的內容,並且可以通過人與城市之間的關係來解決並獲取該值。

您唯一的選擇是手動獲取城市對象並構建您的UITableViewDatasource以與您自己的數據構造對話。可行但遠比米歇爾所建議的要困難得多。

+0

現在的問題是,如果我只是添加一個城市,NSFetchedResultsController不會找到並將它添加到tableview(作爲sectionheader),因爲尚未建立關係。我需要能夠顯示城市,直到用戶添加人員。有沒有什麼辦法可以檢查這個,而不使用第二個fethedresults控制器? – Blomdell

+0

不容易。表不意味着有一個沒有行的部分。你可以解決它,但這是不愉快的。 –

+0

所以第二個fetchedresultscontroller是要走的路? – Blomdell