尝试从中删除对象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返回一个不可变的。理论上你可以这样做:NSArraysectionInfo
sectionInfo = [[self.collectionView indexPathsForSelectedItems] mutableCopy];
或者,如果您只是尝试重置,您可以单独sectionInfo保留声明,但您可以简单地说:sectionInforemoveAllObjects
sectionInfo = nil;
或者创建一个新数组:
sectionInfo = [NSMutableArray array];
我想这归结为为什么您要尝试从中删除对象sectionInfo,而不仅仅是重置它。
制作indexPathsForSelectedItems. 因为indexPathsForSelectedItems返回NSArray不NSMutableArray。NSArray没有removeAllObjects方法。
sectionInfo = [[self.collectionView indexPathsForSelectedItems]mutableCopy];