swift中属性的完成处理程序

时间:2015-06-01 11:52:08

标签: objective-c ios8 completionhandler

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

这是obj-c的例子。

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

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

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

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

2 个答案:

答案 0 :(得分:2)

如果您需要访问视图控制器,请按照这样做,

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

或者,如果您不需要对视图控制器的引用,您可以这样做,

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

答案 1 :(得分:1)

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

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