从Objective-C到Swift的封锁

从Objective-C到Swift的封锁,objective-c,swift,block,Objective C,Swift,Block,我在我的项目(Swift)中使用了Objective-C框架。但是在代码中有一个块,我不能转换成swift(我是swift的新手) 所以代码是 [self.datePicker setDateHasItemsCallback:^BOOL(NSDate *date) { int tmp = (arc4random() % 30)+1; return (tmp % 5 == 0); }]; 请帮帮我。 谢谢,在Objective-C中使用块的地方,在Swift中使用函数。在Obje

我在我的项目(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并返回布尔值的块:

[self.datePicker setDateHasItemsCallback:^BOOL(NSDate *date) {
因此,在Swift中,参数是一个接受NSDate并返回布尔值的函数:

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

如果您不了解匿名函数语法,请参阅我的新Swift教程: