我遇到的问题源于类声明:
class tableAddition : UIVIEwController,UIAlertVIEwDelegate {
看来编译器没有识别协议,当我尝试实现以下方法时:
@optional func alertVIEw(alertVIEw: UIAlertVIEw!,clickedbuttonAtIndex buttonIndex: Int) {}
我收到一条错误,说“’可选’属性只能应用于协议成员”.虽然删除@optional会使错误无效,但我不认为该方法被识别为UIAlertVIEwDelegate协议的成员(Xcode从未为我自动完成方法实现).
这是一个源于Swift方面的问题,还是我的错误?
解决方法 从Swift Book中的 “Protocols”开始:Optional Protocol Requirements
You can define optional requirements for protocols,These requirements
do not have to be implemented by types that conform to the protocol.
Optional requirements are prefixed by the@optional
keyword as part of
the protocol’s deFinition.
因此@optional关键字仅用于标记的协议定义
可选要求.它不与协议方法的实现一起使用.
因此,删除代码中的@optional是正确的解决方案.
Xcode没有自动完成协议方法似乎是当前的问题测试版.
总结以上是内存溢出为你收集整理的ios – 让Swift类充当UIViewController子类和UITableViewDelegate全部内容,希望文章能够帮你解决ios – 让Swift类充当UIViewController子类和UITableViewDelegate所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)