0

我基本上已经浏览了每一个堆栈溢出问题,但我找不到答案。似乎没有一个答案有效。

我正在编写一个应用程序,其中包含一个 tableview,一个 uitableview 作为子视图。uitableview 是连接到一个名为 xvalues 的类的数据源和委托,该类是 uitableviewcontroller 的子类。我也有一堂课,我在其中加载了一个自定义的 uitableviewcell。这一切都不会导致任何错误。

这是我的 uitableview 代码,在 xvalues 中:

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
        // Return the number of sections.
        return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        // Return the number of rows in the section.
        return 1;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        tableviewcell *cell = [[tableviewcell alloc]initWithFrame:CGRectZero];

        return cell;
   }
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        // Navigation logic may go here. Create and push another view controller.
        /*
         <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
         // ...
         // Pass the selected object to the new view controller.
         [self.navigationController pushViewController:detailViewController animated:YES];
         [detailViewController release];
         */
    }

我删除了一些注释掉的方法,例如可以在索引路径编辑行和提交编辑样式。

在 cellforrowatindexpath 中,tableviewcell 是我的自定义单元格类。

由此,当我运行我的代码时,它会加载我的 uitableview,其中包含 1 个单元格和我的自定义单元格。但是,现在,如果我单击并拖动,它可以拖动大约一英寸,然后突然崩溃并出现错误:

2012-07-16 12:14:16.957 spreadsheet[68717:f803] -[__NSCFString tableView:cellForRowAtIndexPath:]: unrecognized selector sent to instance 0x6894400
2012-07-16 12:14:16.960 spreadsheet[68717:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString tableView:cellForRowAtIndexPath:]: unrecognized selector sent to instance 0x6894400'
*** First throw call stack: blah blah blah

当我单击该行时也会发生这种情况,但我认为这是因为我在索引路径方法中确实选择了行。

如果有人可以帮助我,那将非常有帮助。

4

1 回答 1

0

您的表视图控制器正在被释放。确保您在创建实例的任何地方都保留了您的xvalues实例(或将其分配给strong某物上的某个属性,例如您的应用程序委托)。

于 2012-07-16T16:54:51.570 回答