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.imageURL
和self.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 无法识别的选择器发送到实例