将块从Objective-C转换为Swift

时间:2015-12-16 01:14:25

标签: ios objective-c swift objective-c-blocks

我编写了以下方法,它返回了我在Objective-C中编写的块。无论我多少次弄乱语法,我都无法获得编译器喜欢的这种方法的快速版本。

- (TWCInviteAcceptanceBlock)acceptHandler
{
    return ^(TWCConversation * _Nullable conversation, NSError * _Nullable error) {
        if (conversation) {
             NSLog("Yay")
        }
        else {
            NSLog(@"Boo")
        }
    };
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

脱离我的头顶:

func acceptHandler() -> TWCInviteAcceptanceBlock {
    return { (conversation: TWCConversation?, error: NSError?) in
        if let conversation = conversation {
             print("Yay")
        } else {
             print("Boo")
        }
    }
}