ios – 让Swift类充当UIViewController子类和UITableViewDelegate

ios – 让Swift类充当UIViewController子类和UITableViewDelegate,第1张

概述我一直在 Swift中编写一个应用程序,因此需要编写一个子类UIViewController并符合多个协议(包括UIAlertViewDelegate,UITableViewDelegate和UITableViewDataSource)的类.我目前正在使用Xcode 6 Beta,并遇到了很多困难. 我遇到的问题源于类声明: class TableAddition : UIViewControl 我一直在 Swift中编写一个应用程序,因此需要编写一个子类UIVIEwController并符合多个协议(包括UIAlertVIEwDelegate,UItableVIEwDelegate和UItableVIEwDataSource)的类.我目前正在使用Xcode 6 Beta,并遇到了很多困难.

我遇到的问题源于类声明:

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存