尝试从中删除对象NSMutableArray
,下面是对数组进行添加的方法。
sectionInfo = [self.collectionView indexPathsForSelectedItems];
如何尝试删除
[sectionInfo removeAllObjects];
我得到的错误是无法识别的选择器发送到实例 0x169cfb70。
我认为这是因为我没有在数组中添加项目,addObject:
但这不是我的要求。那么,如何管理这个。
尝试从中删除对象NSMutableArray
,下面是对数组进行添加的方法。
sectionInfo = [self.collectionView indexPathsForSelectedItems];
如何尝试删除
[sectionInfo removeAllObjects];
我得到的错误是无法识别的选择器发送到实例 0x169cfb70。
我认为这是因为我没有在数组中添加项目,addObject:
但这不是我的要求。那么,如何管理这个。
问题是它-[UICollectionView indexPathsForSelectedItems]
不返回一个NSMutableArray
. 您想NSMutableArray
在尝试修改它之前将其转换为:
sectionInfo = [NSMutableArray arrayWithArray: [self.collectionView indexPathsForSelectedItems]];
无论如何声明,它都会indexPathsForSelectedItems
返回一个不可变的。理论上你可以这样做:NSArray
sectionInfo
sectionInfo = [[self.collectionView indexPathsForSelectedItems] mutableCopy];
或者,如果您只是尝试重置,您可以单独sectionInfo
保留声明,但您可以简单地说:sectionInfo
removeAllObjects
sectionInfo = nil;
或者创建一个新数组:
sectionInfo = [NSMutableArray array];
我想这归结为为什么您要尝试从中删除对象sectionInfo
,而不仅仅是重置它。
制作indexPathsForSelectedItems
. 因为indexPathsForSelectedItems
返回NSArray
不NSMutableArray
。NSArray
没有removeAllObjects
方法。
sectionInfo = [[self.collectionView indexPathsForSelectedItems]mutableCopy];