Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
如何在iOS中从tableview中删除行?_Ios_Objective C_Uitableview - Fatal编程技术网

如何在iOS中从tableview中删除行?

如何在iOS中从tableview中删除行?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我已经采取了三个阵列。一个数组用于保存图像数据,其余两个数组用于保存图像名称和日期 删除行时,我遇到以下错误: NSInternalInconsistencyException',原因:'-[\uu NSCFArray removeObjectAtIndex:::]:将变异方法发送到不可变对象' 如何处理此问题?您需要使用NSMutableArray而不是NSArray来实现您的功能 以NSObject类为例 #import <Foundation/Foundation.h> @i

我已经采取了三个阵列。一个数组用于保存图像数据,其余两个数组用于保存图像名称和日期

删除行时,我遇到以下错误:

NSInternalInconsistencyException',原因:'-[\uu NSCFArray removeObjectAtIndex:::]:将变异方法发送到不可变对象'


如何处理此问题?

您需要使用NSMutableArray而不是NSArray来实现您的功能

NSObject
类为例

#import <Foundation/Foundation.h>

@interface YourClassName : NSObject

@property (nonatomic, strong) NSString *imgName;
@property (nonatomic, strong) NSData *imgData;
@property (nonatomic, strong) NSString *imgDate;

@end
#导入
@接口YourClassName:NSObject
@属性(非原子,强)NSString*imgName;
@属性(非原子,强)NSData*imgData;
@属性(非原子,强)NSString*imgDate;
@结束
然后,将类的对象添加到
NSMutableArray
,然后根据需要对其进行变异。只需从一个数组中删除,而不是从三个不同的数组中删除,这非常混乱,可能会产生冲突

只需使用
NSMutableArray
而不是
NSArray
。如果您已经这样做了,请检查
NSMutableArray
包含
NSArray
类型值,这些值不能是不变的


谢谢

请用相关代码更新您的问题。因此您需要数组来保存图像数据、图像名称和日期,对吗。好的,只需获取一个具有三个属性的对象类,然后将对象类对象添加到数组中,然后操作数组,无需获取三个不同的数组。您的错误似乎是接受了NSArray并从NSArray中删除了对象,这是不可变的。Take mutable array
发送到immutable object的mutating method
应该清楚地表明您正在尝试对NSArray进行变异,而您应该使用NSmutable array。我已经上传了图像,您可以看到图像吗,我正在使用3个数组,一个用于图像,第二个用于图像名称,第三个用于当前日期,我需要删除一个图像,以便每行包含3个对象na如何删除此对象?可能重复NSMutableArray*imagesArray;NSMutableArray*名称数组;NSMutableArray*日期数组;使用3个可变阵列为什么?只需获取object类并将该对象添加到单个数组中。当数组大小增加时,可能会在将来导致内存泄漏问题…我已经拍摄了3个可变数组一个数组有图像数据另一个数组图像名称和第三个数组图像日期,请参见上面的图像iam显示的那样。如果我不想删除一个图像,我需要删除该图像数据和名称以及该日期的特定行索引,如果单击删除按钮,它会显示错误“mutating method sent to immutable object”,这就是为什么我告诉您创建NSObject的对象类子类,如上所述。制作一个包含图像数据、名称和日期的对象数组(NSMutableArray)。在表格单元格中获取对象并在单元格中设置。删除/删除时,只需从数组中删除该对象。简单由于您编写了大量复杂的代码,因此会出现错误。通过使用对象数组来避免这种情况