我正在尝试将我的objectiveC
应用转换为swift
,我能够完成大部分工作,但这里有一些混乱......
我的ObjectiveC
代码是
-(void)getResponseFromURL:(NSString *)strURL
withParams:(NSMutableDictionary *)dictParams
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject, bool isSuccess))blockSuccess
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))blockFailure
showLoader:(BOOL)isShowDefaultLoader
showAnimated:(BOOL)isShowLoaderAnimated hideLoader:(BOOL)isHideDefaultLoader
{ //some code here }
我的Swift
代码
func getResponseFromURL(strURL: String, withParams dictParams:Dictionary,
Success:(operation:AFHTTPRequestOperation, responseobject:AnyObject, isSucces:Bool)->void,
Failure:(operation:AFHTTPRequestOperation, error:NSError)->void,
showLoader isShowDefaultLoader:Bool,
showAnimated isShowLoaderAnimated:Bool, hideLoader isHideDefaultLoader:Bool){
// Some code here
}
但它给了我一些错误
我想我错过了一些技巧......但我不知道那是什么...... 那么如何摆脱这个错误?
答案 0 :(得分:3)
Void
,而不是void
Dictionary
通用,您需要将其指定为Dictionary<AnyObject, AnyObject>
或直接使用NSDictionary
。您可以在此answer NSDictionary
转换为Swift Dictionary
醇>
<强>更新强>
感谢Aviel Gross,请使用[AnyObject: AnyObject]
代替Dictionary<AnyObject, AnyObject>
正如WenchenHuang的代码所示,()与Swift中的Void
相同,都代表空元组。
答案 1 :(得分:1)
在Swift中它是Void
。 “V”必须是大写的。
答案 2 :(得分:1)
func getResponseFromURL(strURL: String, withParams dictParams:NSDictionary,
Success:(operation: AFHTTPRequestOperation, responseobject:AnyObject, isSucces:Bool)->(),
Failure:(operation: AFHTTPRequestOperation, error:NSError)->(),
showLoader isShowDefaultLoader:Bool,
showAnimated isShowLoaderAnimated:Bool, hideLoader isHideDefaultLoader:Bool){
// Some code here
}