首先無法識別的選擇,這裏的故事板的視圖控制器內部的容器視圖
的UIViewController>查看的基本設置>容器視圖 - > UICollectionViewController
容器和UICollectionViewController之間的嵌入SEGUE是「SegueA」。
現在,目標UICollectionViewController是CustomCollectionVC.h的子類。
而且CustomCollectionVC有一個公共的方法:
- (void)updateCollection:(NSArray *)data;
的包圍的UIViewController需要CustomCollectionVC這樣的引用:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"SegueA"])
{
customCollection = (CustomCollectionVC *)segue.destinationViewController;
}
}
然後,在稍後的點(一些數據已被加載之後) ,我們呼籲:
[customCollection updateCollection:data];
但是,在這一點上,我得到了unh的elpful錯誤:
-[UICollectionViewController updateCollection:]: unrecognized selector sent to instance 0x10bc73ef0
如果這意味着CustomCollection的沒有被正確地投什麼,然後我在裏面prepareForSegue做錯了嗎?
我見過很多人問如何引用容器內的視圖,他們都使用這種方法。
任何幫助將不勝感激!謝謝!
我懷疑你的故事板中沒有將目標控制器標識爲「CustomCollectionVC」。在執行'(CustomCollectionVC *)'cast之前檢查它的實際類。 –
鑄造不會改變你的控制器的類,它只會告訴控制器你認爲這個類是什麼。它看起來像你沒有改變你的集合視圖控制器的類到你的自定義類。 – rdelmar
仔細檢查「實用程序」面板中的所有網點。無法識別的選擇器通常鏈接到不良的插座。 –