import UIKitprotocol MybuttonProtocol { func buttonpressed(sender: UIbutton)}
但是,当我尝试将addTarget添加到具有该协议的UIbutton时,我收到此错误:无法将“MybuttonProtocol”类型的值转换为期望的参数类型“AnyObject?”.不应该有任何东西可以转换为AnyObject ??这是我的主要代码:
import UIKitclass MyVIEw: UIVIEw { var delegate: MybuttonProtocol var button: UIbutton init(delegate: MybuttonProtocol) { self.delegate = delegate button = UIbutton() //... formatting ... super.init(frame: CGRect()) button.addTarget(delegate,action: "buttonpressed:",forControlEvents: .touchUpInsIDe) addSubvIEw(button) //... more formatting ... }}
提前致谢.
解决方法 AnyObject是所有类符合的协议.要定义只能由类采用的协议,请添加
:类到定义:
protocol MybuttonProtocol : class { func buttonpressed(sender: UIbutton)}
没有这个修改,
var delegate: MybuttonProtocol
可以是struct或enum类型,也不能转换为AnyObject.
总结以上是内存溢出为你收集整理的ios – 无法转换为`AnyObject?`?全部内容,希望文章能够帮你解决ios – 无法转换为`AnyObject?`?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)