簡體   English   中英

tableView和普通視圖(相同的數據對象)

[英]tableView and normal view (same data object)

我不知道如何在兩個標簽欄項目之間共享相同的數據。 一個選項卡使用nsfetchedresultscontroller,另一個表只是普通視圖,應該使用與我的fetchedresultscontroller相同的數據。

如果我有兩個法線視圖,則只需將我的對象設為單例,然后讓tableview和normal視圖使用相同的數據。

但是現在我有一個fetchresultscontroller和一個普通視圖。 我當時在考慮只將另一個fetchedresultscontroller用於正常視圖,因此我具有所有功能,例如訪存緩存,通知等。

我知道fetchresultscontroller應該用於表視圖,但我想我也可以將其用於非表視圖。

有人知道我該怎么辦? 在這件事上,我找不到蘋果的文件。

您的數據應該與您的viewControllers或視圖有關-也就是說,如果您遵循MVC樣式。 如果您的數據僅在一個viewController中可用,並且您不想將其提取到其自己的類中,請在viewController中提供可以被另一個viewController調用以獲取數據的方法。

例如,使用如下方法:

- (NSString) getNameOfSelectedUserAtIndex:(int) index;
- (int) getCountOfSelectedUsers;
- (NSSArray) getResults;

然后在另一個viewController中,調用:

string = [fetchedresultscontroller getNameOfSelectedUserAtIndex:i];
count = [fetchedresultscontroller getCountOfSelectedUsers];
array = [fetchedresultscontroller getResults];

您必須確保將fetchedresultscontroller作為實例變量添加到另一個viewController中,並可能在其viewDidLoad中進行設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM