所以我想創建一個最近查看圖片的數組。基本上我有一個TableViewController
,它推動位於一個標籤中的導航控制器中的圖片視圖,然後試圖讓導航控制器記錄最近查看過的圖片,並將它們列在TableViewController
中,然後將其推送到新的顯示圖片的視圖。我以編程方式在選項卡欄控制器內設置了兩個導航控制器。幾乎所有的東西都是按照我想要的方式設置的,但我只是無法將最近查看過的圖片信息傳遞給將顯示列表的表格視圖控制器。試圖將數據從一個視圖控制器傳遞到另一個標籤欄控制器
這裏是我正在嘗試當用戶點擊一個特定的表格單元格來傳遞數據:
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
RecentsTableViewController *rtvc = [[RecentsTableViewController alloc] init];
[rtvc.recents addObject:[self dictionaryAtIndex:indexPath]];
[rtvc release];
}
最近用過的是,我在RecentsTableViewController.
創建是越來越初始化確定一個可變數組,使用檢查NSLog,
但每次用戶單擊另一個視圖控制器中的表格單元格時,字典都不會被傳遞給該數組。我也知道字典信息是正確的並且設置正確,因爲它傳遞到顯示圖像的視圖。我想我只是困惑,因爲我可以爲NavigationController
做到這一點,我只是在努力尋找在一個TabBarController.
對不起數據傳遞答案,如果這個職位可能是長/混亂,但我真的到處去尋找一個回答沒有運氣。我聽說過使用應用程序委託來存儲像一個全局變量,但我的印象是這是不好的做法,我試圖正確地編寫我的代碼。
下面是dictionaryAtIndex方法更新的代碼:
- (NSDictionary *)dictionaryAtIndex:(NSIndexPath *)indexPath {
NSArray *flickrPics = [FlickrFetcher photosAtPlace:self.placeID];
NSDictionary *returnedDictionary = [flickrPics objectAtIndex:indexPath.row];
return returnedDictionary;
}
您需要創建一個插座,至少這就是我會做的。 –
您的意思是做一個如果是這樣,你怎麼去做這件事? – Alex
如果你發佈源代碼到dictionaryAtIndex方法,它可能有助於調試。 – NWCoder