2014-01-14 30 views
0

我在類「spielplan」,我可以用reloadData輕鬆地重新加載NSTableview,但我怎麼能從我的AppDelegate.m重新加載表?NSTableView reloadData外部類

我想,有一個簡單的解決方案,但我不明白!

回答

1

簡答:你不應該。

您的類spielplan(應更名爲PMGameBoard)可能是一個管理視圖的控制器類,包括tableView。所以這個控制器負責重新加載tableView的數據。

應用程序代理的外部事件(無論它是什麼)應通過某種通知方式提供給spielplan實例。確切的溝通方式取決於事件的類型(NSNotification,...)。看到這個objc.io article

+0

謝謝,你救了我很多我的神經! – petermney

0

創建財產或出口(取決於你使用故事板或不)在你的spielplan.h文件,例如

@property (nonatomic, strong) IBOutlets UITableView *myTableView; 

,並在AppDelegate的文件中獲取參考spielplan對象,並調用重載方法:

[spielplan.myTableView reloadData]; 

如果spielplan是的UITableViewController的子類,你不必在你的AppDelegate調用來創建出口或屬性表視圖:

[spielplan.tableView reloadData]; 

請記住,當您試圖從AppDelegate獲取對視圖控制器的引用,並且視圖控制器不在視圖層次結構中時,它可以被釋放,或者它可能還沒有被分配,並且調用reloadData,它沒有任何意義。