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

Multiple methods named 'count' found warning

提问人:Shelby 提问时间:12/28/2017 最后编辑:Shelby 更新时间:12/28/2017 访问量:715

问:

enter image description here嗨,我刚刚更新了我的 Dropbox API,但我认为这不应该导致这个问题但是更新后,当我在 xcode 9.2 中使用它构建它时,我的项目会变得很麻烦。 知道如何摆脱这个警告吗?

找到名为“count”的多个方法

有关方法调用,请参阅代码和随附的屏幕截图。

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return [[thumbImagesCollectionArray objectAtIndex:collectionView.tag-1] count];
}
iOS Objective-C 警告 xcode-workspace

评论

0赞 trungduc 12/28/2017
你把什么样的物品放在里面?thumbImagesCollectionArray
0赞 Shelby 12/28/2017
其 NSMutableArray.实际上这不是我的代码,对此知之甚少。但是这个警告我之前没有得到,直到使用cartfile更新更新我的Dropbox。

答:

1赞 trungduc 12/28/2017 #1

在调用 之前,应强制转换为 。[thumbImagesCollectionArray objectAtIndex:collectionView.tag-1]NSMutableArraycount

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

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

为了修复它,将对象转换为返回,以便编译器知道应该调用什么方法。NSMutableArray

评论

0赞 Shelby 12/28/2017
您好,感谢您的更新。是的,这个解决方案有效。您能否解释一下这里的问题是什么,以便其他人也能理解。