2010-12-06 46 views
1

我有一個UITableViewController,基於筆尖,在iPad上運行時在UIPopoverController中呈現,並在iPhone上運行時呈現爲「本機」。爲什麼在UIPopoverController中顯示UITableViewController self.tableView屬性爲零?

在iPad上運行時,控制器的self.tableView屬性在整個生命週期中都是零。在tableView中作爲其正常操作的一部分傳遞的委託消息正常工作並且具有對錶視圖的引用。

在iPhone上,該屬性已設置,並且引用的效果與您所期望的一樣。

任何具體的,可以導致self.tableView屬性爲零?我已經仔細檢查了Interface Builder中的連接 - Nib只包含一個表視圖和相關的UISearchBar。 Nib中的表格視圖被設置爲視圖控制器的視圖。

這是在4.2.1兩個設備上。把我的頭撞到這個上,找不到我的錯誤。

回答

6

我想出了我的問題,當然,這是一個編程錯誤。

在這種情況下,實現文件頂部的錯誤@synthesize tableView會生成衝突的getter和setter。

道歉和感謝那些看着這個。

0

試試這個......在返回tableView對象的方法之一中執行「assert(self.view == tableView);」並看看會發生什麼。如果斷言不會觸發,並且我懷疑它不會在iPhone或iPad中觸發,那麼只需將self.view轉換爲UITableView並執行您需要的操作。

相關問題