Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 编辑tableview行以在iOS中删除tableview中的多行,给出错误_Xcode_Ios6_Tableview - Fatal编程技术网

Xcode 编辑tableview行以在iOS中删除tableview中的多行,给出错误

Xcode 编辑tableview行以在iOS中删除tableview中的多行,给出错误,xcode,ios6,tableview,Xcode,Ios6,Tableview,我跟随链接 我将delete方法中的代码编写为 (void)deleterows:(id)sender { NSArray *array=[selectedRows allObjects]; NSLog(@"indexes are::%@",array); [self.tableView deleteRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop]; } 但由于未捕获异常NSInvalidArgume

我跟随链接

我将delete方法中的代码编写为

(void)deleterows:(id)sender { 
NSArray *array=[selectedRows allObjects]; 
NSLog(@"indexes are::%@",array);
[self.tableView deleteRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop];
 }
但由于未捕获异常NSInvalidArgumentException

原因:
-[\uu NSCFNumber行]:无法识别的选择器发送到实例0x9161b50


请告诉我哪里出错了。

selectedRows
是一个NSNumber数组
DeleteRowsatindExpath:withRowAnimation:
需要一个
NSIndexPath
对象数组。您链接的答案明确指出,您应该创建这样的数组:

  • 在deleteRows方法中,遍历selectedRows集,构建索引路径数组,从数据中删除这些行 建模,然后调用(使用首选动画类型):
[self.myTableView deleteRowsAtIndexPaths:arrayOfIndexPathsToDelete withRowAnimation:UITableViewRowAnimationTop]


由于您的目标是>=iOS5,您只需使用:

self.tableView.allowsMultipleSelection = YES;
然后

(void)deleterows:(id)sender { 
  NSArray *array= [self.tableView indexPathsForSelectedRows]; 
  NSLog(@"indexes are::%@",array);
  [self.tableView deleteRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop];
 }
根本不使用
selectedRows
数组

如果只希望在编辑模式下选择多个选项,则应设置

self.tableView.allowsMultipleSelection = YES;

请查看文档。

我将方法编写为(int I=0;iIt给出的错误为“由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'-[\u NSCFNumber row]:未识别的选择器发送到实例0x7524c20'”,位于[self.tableView deleteRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop];请告诉我为什么会发生这种情况?是否使用以下行初始化数组?NSArray*array=[self.tableView Indexpaths ForSelectedRows];请在
索引为::
.for(int i=0;i)之后发布NSLog输出