返回UITableViewCell自定义单元格

时间:2016-03-01 13:03:09

标签: ios objective-c iphone uitableview cocoa-touch

我有UITableViewCell的子类ReminderCell

ReminderCell有一个我写的backToPlaceAnimation方法。

问题是,例如,如果我想使用backToPlaceAnimationReminderCellRemindersVCtableView: cellForRowAtIndexPath:,而UITableViewCell没有返回正确的对象(它&& #39; s ReminderCell对象,而不是NSIndexPath *cellIndexPath=[NSIndexPath indexPathWithIndex:0]; ReminderCell *cell=(ReminderCell*)[self tableView:self.AroundersTableView cellForRowAtIndexPath:cellIndexPath]; [cell cancelDeletion];

如何获得正确的物体?

代码:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid index path for use with UITableView.  Index paths passed to table view must contain exactly two indices specifying the section and row.  Please use the category on NSIndexPath in UITableView.h if possible.

崩溃日志:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { //Creating a default cell using "cellIdentifier"(NSString) ReminderCell *cell=[tableView dequeueReusableCellWithIdentifier:@"Cell"]; if (cell==nil) { cell=[[ReminderCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]; } //Changing "cell"'s "index" to indexPath.row cell.index=(int)indexPath.row; //Crashes here cell.textLabel.text=@"Hello"; //Returning cell return cell; }

cellForRowAtIndexPath:覆盖:

ul

谢谢!

5 个答案:

答案 0 :(得分:1)

您应该将[NSIndexPath indexPathWithIndex:0];替换为[NSIndexPath indexPathWithIndex:0 inSection:0];

答案 1 :(得分:0)

您要将cell声明为UITableViewCell,如果您想要ReminderCell,则将其声明为from mpi4py import MPI size = MPI.COMM_WORLD.Get_size() rank = MPI.COMM_WORLD.Get_rank() name = MPI.Get_processor_name() print("Hello, World! I am process/rank {} of {} on {}.\n".format(rank, size,name))

答案 2 :(得分:0)

将您的单元格定义为ReminderCell

ReminderCell *cell = [self.AroundersTableView cellForRowAtIndexPath:cellIndexPath];

答案 3 :(得分:0)

你的CellForRowAtIndexPath应该返回ReminderCell而不是UITableViewCell

所以它应该从这开始:

-(ReminderCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

答案 4 :(得分:0)

根据您在上面显示的错误,您没有从行单元格中获取单元格,因为您创建的索引路径不正确。尝试使用[NSIndexPath indexPathForRow:0 inSection:0](注意:您需要更改0'以反映您想要的单元格。