无法识别的选择器发送到 UIButton+AFNetworking.h 的实例(UIImageView+AFNetworking 也是)
Posted
技术标签:
【中文标题】无法识别的选择器发送到 UIButton+AFNetworking.h 的实例(UIImageView+AFNetworking 也是)【英文标题】:Unrecognized Selector Sent to To instance for UIButton+AFNetworking.h (UIImageView+AFNetworking too) 【发布时间】:2013-09-05 03:00:29 【问题描述】:我正在尝试为 UIButton 集成 AFNetworking 类(我正在调用个人资料页面并正在为用户异步加载头像)。
https://gist.github.com/dpettigrew/2925847
Xcode 错误:-[UIRoundedRectButton setImageWithURL:placeholderImage:forState:]:无法识别的选择器发送到实例 0xd2431a0
我尝试按照这个示例 (https://github.com/luisespinoza/ActivityIndicatorImageURL) 进行操作,但我在 UIImageView 上也遇到了同样的错误。
我确认所有文件都已复制到 xcode 并包含在构建阶段区域中。没有意义的事情是,当我按住命令并单击方法时,我正在调用它,它会跳转到正确的方法没问题。有任何想法吗?我如何让 xcode 在运行时找到方法?
self->avatar
是通过我的故事板中的 IBOutlet 链接的 UIButton。
UIImage *imageTemp = [UIImage imageNamed:@"default_avatar.png"];
[self->avatar setImageWithURL:url placeholderImage:imageTemp forState:UIControlStateNormal];
编辑
另请注意,我的 .h 中确实有以下内容
#import "UIButton+AFNetworking.h"
#import "UIImageView+AFNetworking.h"
【问题讨论】:
抱歉,我想不出任何其他建议来解决您的问题。奇怪的。 :S 【参考方案1】:编辑:我之前的回答是完全错误的,因为子类继承了超类的方法。我的回答就像是一个班级集群。
您是否将 AFNetworking 用作静态库?如果是这样,您必须添加 -ObjC 链接器标志。
在这里查看接受器解决方案:(Objective-C categories in static library)
【讨论】:
是的,还是同样的问题。 :( 我录制了一段简短的视频向您展示我所看到的。screencast.com/t/yrhePjgpT【参考方案2】:我不确定问题出在哪里,但这里有一个同时使用 UIButton 和 UIImageView 类别的示例项目
http://numberpress.co/personal/UIButtonAFNetworkingTest.zip
【讨论】:
谢谢大卫,我去看看。我查看了 UIImageView+AFNetworking 示例,也没有看到任何内容。【参考方案3】:如果你遇到这个并且无法弄清楚,我建议尝试 UIButton+WebCache.h
不幸的是我也遇到了这个问题(缓存太严格了,只查看 URL 和有效负载大小,它们总是相同的,所以它永远不会被重置,所以我只是不使用缓存部分)
【讨论】:
以上是关于无法识别的选择器发送到 UIButton+AFNetworking.h 的实例(UIImageView+AFNetworking 也是)的主要内容,如果未能解决你的问题,请参考以下文章
错误:- - [UIButton setValue:]:无法识别的选择器发送到实例
UIButton 的 IBAction 导致无法识别的选择器发送到实例错误 (iOS)
无法识别的选择器发送到 UIButton+AFNetworking.h 的实例(UIImageView+AFNetworking 也是)