阻止从Objective-C到Swift

时间:2015-01-20 05:00:00

标签: objective-c swift block

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

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

请帮帮我。 谢谢,

1 个答案:

答案 0 :(得分:1)

如果你在Objective-C中使用一个块,你可以在Swift中使用一个函数。在Objective-C中,参数是一个接受NSDate并返回BOOL的块:

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

因此,在Swift中,参数是一个接受NSDate并返回Bool的函数:

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