在快速错误中阻止

时间:2015-05-06 06:46:43

标签: ios objective-c swift

我正在尝试将我的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
}

但它给了我一些错误 enter image description here

我想我错过了一些技巧......但我不知道那是什么...... 那么如何摆脱这个错误?

3 个答案:

答案 0 :(得分:3)

  1. 在Swift中,使用Void,而不是void
  2. Swift中的
  3. Dictionary 通用,您需要将其指定为Dictionary<AnyObject, AnyObject>或直接使用NSDictionary。您可以在此answer
  4. 之后将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
    }