看板 MacDev 關於我們 聯絡資訊
我有一個tableView 我在tableView的cell裡裝了一個collectionView 程式會去網路上抓圖片,抓完之後我想要塞到collectionView的cell裡 所以我在抓完圖片的時候 呼叫了[self.tableView reloadData] 結果沒反應 後來發現應該是要呼叫collectionView的reloadData才對 所以我在抓完圖片後呼叫了以下程式 for (UIView *view in [self.tableView subviews]) { for (UIView *collection in [view subviews]) { if ([collection isKindOfClass:[CollectTableViewCell class]]) { [[(CollectTableViewCell*)collection collectionView] reloadData]; } } } (CollectTableViewCell 是裝有collectionView的tableViewCell) 結果圖片卻沒塞進去,確定有跑到reloadData 為了debug,我在touch到collectionView的時候呼叫了reloadData -(void)collectionView:(IndexCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { [collectionView reloadData]; } 結果圖片成功塞進去了! 有人知道為什麼會這樣嗎? 我不想要用手點擊才更新collectionView啊QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.206.127
s8911124: [[(CollectTableViewCell*)collection collectionView] 02/07 15:25
s8911124:collectionView 是nil 嗎 ? 02/07 15:26
y03131003:!!! 你答對了..是nil.... 02/07 15:29
y03131003:這樣子抓不到collectionView嗎QQ 02/07 15:29
y03131003:我在cellForItemAtIndexPath裡把每個collectionView加到 02/07 15:49
y03131003:一個set裡,然後載完圖片後讓set裡的collectionView跑 02/07 15:50
y03131003:reloadData 成功了!!感謝指點!有人有更好的解法嗎? 02/07 15:51