无法删除 tableview 行

Posted

技术标签:

【中文标题】无法删除 tableview 行【英文标题】:unable delete the tableview rows 【发布时间】:2016-08-20 14:41:28 【问题描述】:

如果我从图库中获取图像,我存储在数组中,并且如果我不希望图像需要删除图像 在.h

#import <UIKit/UIKit.h>

@interface ImageCustom : UITableViewController
@property(nonatomic, strong)NSMutableArray *arrayRoot;
@end

在 .m 中我存储的图像会出现在视图中。

  -(void)viewWillAppear:(BOOL)animated
  [super viewWillAppear:animated];

  NSArray *paths = NSSearchPathForDirectoriesInDomains 

  (NSDocumentDirectory,      NSUserDomainMask, YES);
  NSString *documentsPath = [paths objectAtIndex:0];
  NSString *plistPath =

  [documentsPath stringByAppendingPathComponent:@"manuallyData.plist"];

  self.arrayRoot = [[NSMutableArray alloc]initWithContentsOfFile:plistPath];

  [self.tableView reloadData];

然后

我正在使用自定义表格视图并提供删除选项来删除图像,但是

每当我移动到下一个视图并返回该视图时删除图像后

tableview 再次在 tableview 中出现那些已删除的图像。我需要删除

图像永久?提前致谢

【问题讨论】:

【参考方案1】:

如果我理解正确,您在 UITableview 上实现了删除功能。

删除操作应该从 UITableView 物理删除行,但也删除 plist 中的条目,因为您的表的 DataSource 是那个 plist。如果您不从 plist 中删除该条目,它将继续出现。

【讨论】:

【参考方案2】:

您似乎不想从图库中删除,而只想从数组中删除。

只需将您的代码放在 ViewDidLoad 中,而不是 ViewWillAppear 中,因为每当您推送和弹出视图时都会调用 ViewWillAppear,而 >ViewDidLoad仅在 View 加载时调用一次。

谢谢。

【讨论】:

【参考方案3】:

我认为您需要知道将图像放入哪个数组。您需要从数组中删除要删除的图像。然后,您需要重新加载 tableView。也许它可以工作。

【讨论】:

以上是关于无法删除 tableview 行的主要内容,如果未能解决你的问题,请参考以下文章

无法从自定义表格视图单元格按钮中删除行

iOS 删除一个 tableview 行

升级项目后:删除现有行后 NSTableVIew 无法正确更新

通过滑动删除行在表格视图中无法正常工作

删除行时TableView“无法识别的选择器发送到实例”错误

无法从swift ios中的一段tableview中删除单元格