【问题标题】:UIViewController that implements protocol as an argument in Swift [duplicate]在 Swift 中将协议实现为参数的 UIViewController [重复]
【发布时间】:2015-02-08 13:47:41
【问题描述】:

在我的应用程序中,我想编写一个函数,该函数将 UIViewController 作为参数来实现某些协议。在objective-c中,我可以通过编写来实现:

-(void)someFunction:(UIViewContoller<MyProtocol> *controller);

如何在 Swift 中创建类似的函数?

【问题讨论】:

  • 你有没有试过类似:func someFunction(controller: theProtocol) -&gt; Void
  • 当然可以,但在这种情况下,控制器只是符合协议而不是 UIViewController,因此您不能调用任何属于 UIViewController 的方法。
  • 你是对的 MichalMoskala。我做了一个简单的搜索,我发现了这个:stackoverflow.com/questions/24051396/…。提问前先搜索,对所有社区用户更好2561739
  • 非常感谢!在询问之前我进行了一些搜索,但没有找到,我的错误。回答我的问题,以便我接受它:)

标签: ios objective-c swift


【解决方案1】:

你试过这样的吗?:

func someFunction(controller: theProtocol) -> Void

编辑:

你是对的 MichalMoskala。我做了一个简单的搜索,我发现了这个:Class conforming to protocol as function parameter in Swift。在询问之前尝试搜索,这对所有社区都更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多