我在類「spielplan」,我可以用reloadData輕鬆地重新加載NSTableview,但我怎麼能從我的AppDelegate.m重新加載表?NSTableView reloadData外部類
我想,有一個簡單的解決方案,但我不明白!
我在類「spielplan」,我可以用reloadData輕鬆地重新加載NSTableview,但我怎麼能從我的AppDelegate.m重新加載表?NSTableView reloadData外部類
我想,有一個簡單的解決方案,但我不明白!
簡答:你不應該。
您的類spielplan
(應更名爲PMGameBoard
)可能是一個管理視圖的控制器類,包括tableView。所以這個控制器負責重新加載tableView的數據。
應用程序代理的外部事件(無論它是什麼)應通過某種通知方式提供給spielplan
實例。確切的溝通方式取決於事件的類型(NSNotification
,...)。看到這個objc.io article。
創建財產或出口(取決於你使用故事板或不)在你的spielplan.h文件,例如
@property (nonatomic, strong) IBOutlets UITableView *myTableView;
,並在AppDelegate的文件中獲取參考spielplan對象,並調用重載方法:
[spielplan.myTableView reloadData];
如果spielplan是的UITableViewController的子類,你不必在你的AppDelegate調用來創建出口或屬性表視圖:
[spielplan.tableView reloadData];
請記住,當您試圖從AppDelegate獲取對視圖控制器的引用,並且視圖控制器不在視圖層次結構中時,它可以被釋放,或者它可能還沒有被分配,並且調用reloadData,它沒有任何意義。
謝謝,你救了我很多我的神經! – petermney