多个名为 'count' 的方法发现警告

Multiple methods named 'count' found warning

你好,我刚刚更新了我的保管箱 api 但我认为这不应该导致这个问题但是更新后我在我的项目中使用 [=18 构建它时出现警告=] 9.2。 知道如何摆脱这个警告吗?

Multiple methods named 'count' found

请查看方法调用的代码和随附的屏幕截图。

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return [[thumbImagesCollectionArray objectAtIndex:collectionView.tag-1] count];
}

您应该在调用 count 之前将 [thumbImagesCollectionArray objectAtIndex:collectionView.tag-1] 转换为 NSMutableArray

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    [(NSMutableArray *)[thumbImagesCollectionArray objectAtIndex:collectionView.tag-1] count];
}

据我了解,在编译时,调用 [thumbImagesCollectionArray objectAtIndex:collectionView.tag-1] 时返回的对象类型是未知的。而且它不知道应该对该对象调用什么 count 方法。这就是我们发出警告的原因。

为了修复它,转换对象返回到 NSMutableArray 这样编译器就会知道应该调用什么方法。