2012-03-09 58 views
0

我正在嘗試學習iOS開發,但我無法弄清楚這一點! 示例: 使用Xcode 4.2我創建了一個新的「單視圖應用程序」。然後我添加一個表視圖到視圖。然後我根據 File> New> New File創建一個UIViewControllerSubclass,它是UITableViewController的子類。 然後,我點擊我的故事板中唯一的視圖控制器,在身份檢查器下進行操作,並將其類更改爲我剛創建的類。然後我將表視圖數據源和委託鏈接到視圖控制器。我從我創建的類中打開.m文件,並將其段數設置爲1,將段的行數設置爲3,將「單元格」設置爲「Hello」(cell.textlabel.text = @「Hello 「)。當我運行該程序時,我收到一個錯誤,指出「SIGABRT」,但程序中沒有任何警告或錯誤。我究竟做錯了什麼?xcode 4.2將視圖控制器類設置爲自定義類錯誤

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 5; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    [email protected]"cell1"; 
    return cell; 
} 
+0

我認爲你在做很多錯事......你想達到什麼目的?我可能會幫助你。另外,如果您使用iOS 5.0模擬器運行您的示例,請切換到iOS 4版本。它有時會給你更多關於錯誤的細節,不知道爲什麼 – BBog 2012-03-09 19:38:27

回答

2

當您首次創建項目時,轉到故事板並刪除默認情況下XCode爲您創建的通用View Controller場景。然後從對象瀏覽器中將表視圖控制器對象拖動到故事板上,然後在Identity Inspector中將Class更改爲您的自定義類。 (請注意,您拖出的表視圖控制器將已包含您需要的tableView和原型單元格。)像以前一樣連接數據源&委託屬性,並在您的自定義類.m文件中實現代碼,如上所述。

之後,你不會看到錯誤。

+0

這個工作!我只是沒有意識到我需要一個表視圖控制器爲我的課程。我認爲它會工作,因爲我有一個嵌入在普通視圖中的表視圖。顯示我知道多少。謝謝! – Shredder2794 2012-03-09 20:03:09

0

嘗試啓用NSZOMBIE以幫助您找出問題所在。爲此,請雙擊Xcode項目的可執行文件組中的可執行文件。單擊參數選項卡。在「要在環境中設置的變量:」部分中,創建一個名爲「NSZombieEnabled」的變量並將其值設置爲「YES」。