2011-11-19 103 views
0

我有2個視圖。第一個是主要的UIViewController,第二個是UITableViewController,它有我的數據顯示。UIViewController無法查看UITableViewController

所以我把第一個按鈕,我想從我的UIViewController去mytableviewcontroller。但是當編寫這段代碼時,我的應用崩潰了代碼中的錯誤?

錯誤:線程1程序接收到的信號SIGABRT

-(IBAction) displayTableView:(id) sender{ 
myTableViewController = [[MyTableViewController alloc] 
         initWithNibName:@"TableViewController" 
         bundle:nil]; 

[[self view] addSubview:myTableViewController.view]; // thread 1 program received signal sigabrt 


} 

得益於先進的

+0

你可以添加崩潰日誌嗎?它是xib嗎?你在這些類的viewDidLoad中有什麼? –

+0

這是在我的UITableViewController - (void)viewDidLoad { [super viewDidLoad]; databaseName = @「my.db」; NSArray * documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); \t NSString * documentsDir = [documentPaths objectAtIndex:0]; \t databasePath = [documentsDir stringByAppendingPathComponent:databaseName]; \t \t [self checkAndCreateDatabase]; \t \t [self readAnimalsFromDatabase]; } – user1007666

回答

1
`addSubview` does not retain your `myTableViewController`, so the app crashes. 

您應該使用屬性myTableViewController,或者甚至更好,把你的控制器中的UINavigationController

+0

如何使用屬性myTableViewController?或如何把我的控制器在UINavigationController – user1007666

0

這應該工作。還有一些其他問題。從您發佈的代碼中,您的視圖控制器名稱是:MyTableViewController,並且您給出的筆尖名稱是:TableViewController。通常,當您使用xib創建視圖控制器時,它具有相同的名稱。如果您已分別創建了xib,請確保已經在界面構建器中連接了視圖插座。這應該工作。

+0

我已經連接了視圖插座的界面生成器。 – user1007666

+0

我已經把我的控制器在UINavigationController非常好,謝謝所有 – user1007666

相關問題