xcode 4.2将视图控制器类设置为自定义类错误

时间:2012-03-09 19:11:58

标签: objective-c ios xcode4.2

我正在尝试学习iOS开发,我无法弄清楚这一点! 例: 使用Xcode 4.2我创建了一个新的“单视图应用程序”。然后我向视图添加一个表视图。然后我去了 File> New> New File并创建一个UIViewControllerSubclass,它是UITableViewController的子类。 然后我点击我在故事板中唯一的视图控制器,进入身份检查器并将其类更改为我刚刚创建的类。然后我将表视图数据源和委托链接到视图控制器。我从我制作的类中打开.m文件,并将其节数设置为1,将节中的行数设置为3,并将“配置”单元格设置为“Hello”(cell.textlabel.text = @“Hello” “)。当我运行程序时,我收到一条错误“SIGABRT”,但程序中根本没有警告或错误。我做错了什么?

- (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];
    }

    cell.textLabel.text=@"cell1";
    return cell;
}

2 个答案:

答案 0 :(得分:2)

首次创建项目时,请转到故事板并删除XCode默认为您创建的通用View Controller场景。然后从对象浏览器将 Table View Controller 对象拖到故事板上,并在Identity Inspector中将Class更改为您的自定义类。 (请注意,您拖出的表视图控制器已经包含您需要的tableView和原型单元格。)连接数据源&像以前一样委托属性,并在上面的自定义类.m文件中实现代码。

之后你将看不到错误。

答案 1 :(得分:0)

尝试并启用NSZOMBIE以帮助您查明问题。为此,请双击Xcode项目的Executables组中的可执行文件。单击“参数”选项卡。在“要在环境中设置的变量:”部分中,创建一个名为“NSZombieEnabled”的变量,并将其值设置为“YES”。