从 Objective-C 到 Swift 屏蔽

Block from Objective-C to Swift

我在我的项目 (Swift) 中使用了一个框架 Objective-C。但是在代码中有一个块,我无法转换为 swift(我是 swift 中的新手) 所以代码是

[self.datePicker setDateHasItemsCallback:^BOOL(NSDate *date) {
    int tmp = (arc4random() % 30)+1;
    return (tmp % 5 == 0);
}];

请帮帮我。 谢谢,

在 Objective-C 中使用块的地方,在 Swift 中使用函数。在 Objective-C 中,参数是一个块,它接受一个 NSDate 和 returns 一个 BOOL:

[self.datePicker setDateHasItemsCallback:^BOOL(NSDate *date) {

因此,在 Swift 中,参数是一个接受 NSDate 和 returns 布尔值的函数:

self.datePicker.setDateHasItemsCallback {
    (date:NSDate) -> Bool in
    return true // fix this up as desired
}