Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
如何在iPhone中从NSMutableArray中删除对象_Iphone_Objective C_Uitableview_Nsmutablearray - Fatal编程技术网

如何在iPhone中从NSMutableArray中删除对象

如何在iPhone中从NSMutableArray中删除对象,iphone,objective-c,uitableview,nsmutablearray,Iphone,Objective C,Uitableview,Nsmutablearray,我正在尝试删除UITableView的行,并从NSMutableArray中删除该对象。这是我删除行的代码 [myArray removeObjectAtIndex:indexPath.row]; 在此之后,我将重新加载我的tableView。使用它将删除该对象。但问题是,当我第二次运行应用程序时,删除的对象将再次显示在tableView中。如何从数组中删除对象??请帮帮我。提前感谢。我认为您正在再次初始化阵列,这就是它发生的原因 [myArray removeObjectAtInde

我正在尝试删除UITableView的行,并从NSMutableArray中删除该对象。这是我删除行的代码

    [myArray removeObjectAtIndex:indexPath.row];

在此之后,我将重新加载我的tableView。使用它将删除该对象。但问题是,当我第二次运行应用程序时,删除的对象将再次显示在tableView中。如何从数组中删除对象??请帮帮我。提前感谢。

我认为您正在再次初始化阵列,这就是它发生的原因

[myArray removeObjectAtIndex:indexPath.row]; 

当然,这一行从myArray中删除了对象。在这一行执行之后,您可以通过断点或NSLOg来检查这一点,只需检查myArray初始化的部分即可

1检查是否在加载特定视图时调用了myArray初始化

2检查viewDidLoad方法,如果您在那里初始化了myArray,那么该元素将永远不会被删除


回答:使用断点和NSLogs

您已经从某个地方加载了myArray,现在数据位于RAM中,删除该对象会将其从RAM中删除,但它已经存在于加载该数组的位置。也从那个地方搬走

先告诉我。。。你从哪里得到阵列。。我的意思是从数据库或plist或coredata或本地??如果您在viewDid方法中本地创建数组,并从中获取数组项,则它将获取在viewDid中创建的完整数组项列表的所有时间。。若您从数据库或plist或coredata获取数组,则发送查询数据库或查询plist和core数据,了解如何删除数据[tableView reloadData];最后。

问题不在于如何从NSMutableArray中删除对象。您可能正在再次更新数组。是否从可变数组加载tableview?@newDev:是否在cellforrowatindexpath中初始化了数组