UIImageView |无法识别的选择器发送到实例 | Xcode 6.4 | iOS 8.4

Posted

技术标签:

【中文标题】UIImageView |无法识别的选择器发送到实例 | Xcode 6.4 | iOS 8.4【英文标题】:UIImageView | unrecognized selector sent to instance | Xcode 6.4 | iOS 8.4 【发布时间】:2015-08-27 16:37:45 【问题描述】:

我是 Xcode 的新手,我的任务是将代码从 iOS 6.1 迁移到 8.4,但是那里有很多不推荐使用的方法。我解决了它们(我希望如此),但现在我遇到了一个新问题。

我使用的代码是这个:

[self.clientImageView sd_setImageWithURL:[NSURL URLWithString:_client.imageURL] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 

我得到这个错误:

[UIImageView sd_setImageWithURL:placeholderImage:]:无法识别的选择器发送到实例 0x7fbe937a88b0

最后,我明白了:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIImageView sd_setImageWithURL:placeholderImage:]:无法识别的选择器发送到实例 0x7fbe937a88b0'

非常感谢。

【问题讨论】:

确实,没有这种方法。也许它是通过您正在使用的某个库添加的类别方法。 您正在使用 SDWebImage 从 url 加载图像。 @Rajatp |是的,我正在使用它,版本 3.7.0,但我不知道什么可能无法正常工作:c 你导入SDWebImage了吗? NSLog 你的_client.imageURLself.clientImageView 并尝试找出它们中的任何一个是否为零。 【参考方案1】:

如果您导入了框架并设置了所有正确的标志,请尝试删除此文件夹 ~/Library/Developer/Xcode/DerivedData 的内容并享受干净的构建。它应该会有所帮助。

【讨论】:

【参考方案2】:

只需在其他链接器标志中添加 -ObjC 并在链接库中添加 sdwebcache.a

【讨论】:

【参考方案3】:

作者SDWebImage的合作者

见https://github.com/rs/SDWebImage#add-linker-flag。正确 设置标志应该解决这个问题。顺便说一句:我强烈 建议你们切换到 CocoaPods,这样这些问题就会 永远不会出现。

【讨论】:

我会尝试切换到 CocoaPods,因为所有标志和所有这些都是正确的。 试试吧,也许对你有帮助。【参考方案4】:

复制并粘贴项目中库中的所有文件。我尝试了所有建议,但没有任何效果。最后,简单的复制粘贴即可完成工作。

另外,我必须说我在新项目中没有这个问题,只是在现有项目中。在新项目中,一切正常。

【讨论】:

以上是关于UIImageView |无法识别的选择器发送到实例 | Xcode 6.4 | iOS 8.4的主要内容,如果未能解决你的问题,请参考以下文章

[UIImageView CGImage]:无法识别的选择器发送到实例 0x1783e5b00

使用 UIPanGesture 时发送到实例的无法识别的选择器

UITableViewController 无法识别的选择器发送到实例

无法识别的选择器发送到实例

[UICollectionViewCell imageView]:无法识别的选择器发送到实例

UISwipeGesture '发送到实例的无法识别的选择器'