慢慢进入Swift但仍在努力完成阻止。以下代码在Swift中的外观如何?
[self.eventStore requestAccessToEntityType:type completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[self alertViewWithDataClass:((type == EKEntityTypeEvent) ? Calendars : Reminders) status:(granted) ? NSLocalizedString(@"GRANTED", @"") : NSLocalizedString(@"DENIED", @"")];
});
}];
答案 0 :(得分:3)
self.eventStore.requestAccessToEntityType(type) {
(granted: Bool, err: NSError!) in
dispatch_async(dispatch_get_main_queue()) {
...
}
}
有关工作代码的示例,我在swift中是experimenting with this exact API:)
答案 1 :(得分:2)
Swift中的Objective-C'完成块'(在此上下文中称为'闭包')将包含所有相同的信息:
请注意,方法的签名指定了参数的类型,所以你真正需要做的只是它们的供应名称:)(类型推断FTW!)此外,你的块返回'Void'所以我们不要这里也需要包含返回类型。
那会给我们:
self.eventStore.requestAccessToEntityType(type) { (granted, err) in
dispatch_async(dispatch_get_main_queue()) {
...other stuff...
}
}