2012-09-13 16 views
0

我看到其他問題發佈重新iOS 6,所以我希望它現在猶太人問他們在這裏...使用Xcode 4.5加載表視圖控制器時,iOS 6設備上發生崩潰。 GM

我正在測試使用Xcode GM 4.5構建發佈的應用程序。在運行GM iOS 6固件的設備上加載表格視圖控制器時發生崩潰。構建到運行iOS 5.1或4.3.5的設備時不會發生崩潰。我從下面的錯誤中推斷出(可能是錯誤的),表視圖插座的連接方式肯定有問題,但是它在5.1和4.3.5中工作,並且代碼與iOS 6中發生的情況相同我不清楚哪裏出了問題。

我已經從設備中刪除以前版本的應用程序,重置它並清理項目,但這沒有幫助。

我看了發行說明,但我沒有看到任何指向需要的iOS做6

的錯誤是什麼:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "XViewController" nib but didn't get a UITableView.' 

感謝您的任何指針什麼我需要解決這個問題。 (注:XViewController實際上是LogViewController在app): -

其他信息

在類接口文件我已經出口聲明:

@property (strong, nonatomic) IBOutlet UITableView *logTableView; 

在xib這裏是文件所有者的連接檢查員:

enter image description here

+0

這個例外似乎很清楚,並明確給我 – AliSoftware

+1

@AliSoftware在這種情況下,你應該發佈一個答案。 – Darren

+0

我同意@達倫。也許我的問題是「愚蠢的」或解決方案是顯而易見的,但不是幫助其他人真誠地嘗試解決問題而不是被投票支持他們已經研究並試圖解決他們的問題擁有但被卡住了?這並不是我過去對SO的經驗。我可能在http://stackoverflow.com/questions/11137669/xcode-4-5-corrupting-xibs找到了解決這個問題的一個線索,但是其中的解決方案並不能解決這個問題。 – larick

回答

2

例外[UITableViewController loadView] loaded the "XViewController" nib but didn't get a UITableView.意味着您的「XViewController.xib」文件包含一個UITableViewController類(可能是其文件的所有者?),其view IBOutlet綁定到除UITableView之外的其他東西。

UITableViewController情況下需要自己view出口是一個UITableView(或它的自定義子類的,如果你創建的任何一個),並不被任何其他類型的UIView(即使UIView含有一些UITableView在其子類或其他)喜歡在你的捕獲。

+0

感謝您的詳細信息。我在我的問題中添加了一些細節,以顯示xib中的連接和類接口中的插座。我相信這是正確的,但也許你看到了一些錯誤。正如前面提到的異常,只有在項目使用Xcode 4.5 GM到iOS 6設備而不是早期設備構建時纔會出現。我現在正在考慮在異常情況下xib中可能存在破壞/不兼容的問題,因此我現在將重新創建Xcode 4.5下的xib,並查看是否可以解決問題。奇怪的是,應用程序中的其他表視圖不會崩潰。 – larick

+0

在您的捕獲中,您添加了它,在我看來,**您確實存在上述**所述的問題。 **你'查看'出口綁定到'UIView'實例,而不是'UITableView' **。改變你的'view'出口,將它綁定到'logTableView'出口綁定到你的捕獲的'UITableView'。你的'logTableView' IBOutlet將不再是必需的,因爲你將通過'self.tableView'直接訪問你的tableView,'UITableViewController'只是簡單地返回與'(UITableView *)self.view'相同的內容。 – AliSoftware

+0

請注意,如果你真的不能直接指向你的'UIViewController'的'view'出口到你的tableView(因爲你需要一箇中間視圖來保存你的'UITableView',但也包含其他'subviews'),你將需要(UITableViewController')是UIViewController的一個子類,而不是UITableViewController的一個子類,因爲UITableViewController實例有一個約束來強制你擁有''UITableViewController''子類, UITableView'直接管理它們的'視圖'(參見文檔) – AliSoftware