我一直在這個項目上工作了一段時間。一切都很好,今天我升級到XCode 4.6 ...突然間,崩潰。如果沒有數據(我在使用核心數據),它會加載一個空白的tableview。只要我嘗試添加一些東西在我的其他視圖控制器,崩潰。模擬器和我的設備上出現同樣的問題。隨着「所有異常」斷點啓用,調試器指向這一行:XCode 4.6 dequeueReusableCellWithIdentifier:forIndexpath:不工作
ReedCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
我得到「的UITableView:無法識別的選擇......」作爲例外。我的類肯定是UITableViewController的子類,因此應該有一個tableView,不是嗎?當我將下面的測試代碼放入ViewDidLoad時,我沒有得到確認。換句話說,我的tableView不再響應該方法。有沒有搞錯?如果它被棄用,我沒有看到任何文件。
if ([self.tableview respondsToSelector:@selector(dequeueReusableCellWithIdentifier:forIndexPath:)]) {
NSLog(@"RTVC responds to selector dequeueReusableCellWithIdentifier:forIndexPath:");
}
我已經做了清理,刪除它從模擬器,經檢查發現在故事板視圖控制器仍然是正確的類(它是)。我也嘗試將消息發送到「self.tableview」而不是「tableview」。沒有修復。再次,這工作正常,我沒有改變任何東西,只是升級到4.6。謝謝!
檢查故事板中正確設置的標識符 – 2013-02-11 21:48:38
您使用的是什麼模擬器版本?這個方法是在iOS 6中引入的,所以如果你使用的是模擬器<6,那麼這會失敗,就像你看到的那樣 – 2013-02-11 21:48:42
你註冊了一個NIB或者類的重用標識符嗎? – Tommy 2013-02-11 21:49:03