如何将 Objective-C 的完成块转换为 Swift?
Posted
技术标签:
【中文标题】如何将 Objective-C 的完成块转换为 Swift?【英文标题】:How to convert completion block of Objective-C to Swift? 【发布时间】:2015-06-06 19:47:29 【问题描述】:我尝试将 Objective-C 块语法转换为 Swift Xcode 6.3.2
完成块类型定义:
typealias CompletionWithBoolBlock = (Bool, NSError, NSString) -> Void
[Model insertObjectWithTable:@"tblStudent" values:dict completion:^(BOOL success, NSError *responseError, NSString *object)
if(success)
NSLog(@"inserted");
else
NSLog(@"Not inserted, %@",responseError.description);
];
在网上冲浪后,我尝试了
Model.insertObjectWithTable("tblStudent", values: dict, completion:((success:Bool,responseError:NSError, object:NSString)->(Void) in
if success
println("inserted")
else
println("Not inserted \(responseError.description)")
)
和
Model.insertObjectWithTable("tblStudent", values: dict, completion:(success:Bool,responseError:NSError, object:NSString)->Void
if success
println("inserted")
else
println("Not inserted \(responseError.description)")
)
但它显示错误
预期的 ',' 分隔符
表达式列表中的预期表达式
【问题讨论】:
【参考方案1】:你试过了吗
Model.insertObjectWithTable("tblStudent", values: dict, completion:(success:Bool, responseError:NSError, object:NSString) -> Void in
if success
println("inserted")
else
println("Not inserted \(responseError.description)")
)
【讨论】:
以上是关于如何将 Objective-C 的完成块转换为 Swift?的主要内容,如果未能解决你的问题,请参考以下文章
将 Objective-C 方法转换为 Swift [关闭]
如何在objective-c ios中等待完成块完成[重复]