【问题标题】:Completion handler for property in swiftswift中属性的完成处理程序
【发布时间】:2015-06-01 11:52:08
【问题描述】:

我正在尝试快速使用名为 MZFormSheetController 的控件。在给出的示例中,它提供了一个属性作为完成处理程序,如果我理解正确的话,但是我在用 Swift 翻译它时遇到了困难。任何帮助将不胜感激。

这是在 obj-c 示例中。

controller.didPresentContentViewControllerHandler = ^(UIViewController *content) {
    NSLog(@"DID PRESENT");
    [self setNeedsStatusBarAppearanceUpdate];
};

我尝试了很多变体并在网络上进行了广泛的搜索,但我找不到任何可以帮助我的东西,所以我被困在这里

controller.didPresentContentViewControllerHandler = (content:UIViewController() -> () {
    println("did present1")
})

以下是相关文档:Cocoa Docs:: MZFormSheetPresentationController:: didPresentContentViewControllerHandler

【问题讨论】:

    标签: objective-c ios8 completionhandler


    【解决方案1】:

    如果你需要访问视图控制器,那么就这样做吧,

    controller.didPresentContentViewControllerHandler = {
        controller in
        println("did present1")
    }
    

    或者如果你不需要对视图控制器的引用,你可以简单地做,

    let controller = Controller()
    controller.didPresentContentViewControllerHandler = {
        _ in
         println("did present1")
    }
    

    【讨论】:

      【解决方案2】:

      尝试在打开大括号后添加一个变量

      controller.didPresentContentViewControllerHandler = {
          vc in
          println("did present1")
      })
      

      【讨论】:

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