我试图创建一个可以抛出的闭包,并将其作为参数传递给另一个函数。例如:
extension NSManagedObjectContext {
/// The same as performBlockAndWait, except it can handle closures that throw.
func performBlockAndWaitOrThrow(block: (() -> throws Void)) throws {
// ...
try block()
}
}注意,希望块的参数是一个可以抛出的闭包。
然而,这并不能编译。有办法这样做吗?
发布于 2015-10-27 06:39:38
throws关键字应该在箭头之前出现。该文件汇编如下:
extension NSManagedObjectContext {
/// The same as performBlockAndWait, except it can handle closures that throw.
func performBlockAndWaitOrThrow(block: (() throws -> Void)) throws {
// ...
try block()
}
}https://stackoverflow.com/questions/33361278
复制相似问题