how fix error
func loginmobilephone(phone : string , password : string , withblock block : ((result:nsdictionary , error: nserror)-> void)!) { var params : anyobject! = ["username" :phone,"passwd": password, "session_id" : constant.instance().session] var path : string! = "/account/common/login"; networkmanager.sharedclient().postpath(path, parameters: params, withblock: block) networkmanager.sharedclient().postpath(<#path: string!#>, parameters: <#[nsobject : anyobject]!#>, withblock: <#(([nsobject : anyobject]!, nserror!) -> void)!##([nsobject : anyobject]!, nserror!) -> void#>) } error :
cannot invoke 'postpath' argument list of type '(string!, parameters: anyobject!, withblock: ((result: nsdictionary, error: nserror) -> void)!)'
or how convert swift
+(void)loginmobilephone:(nsstring *)phone password:(nsstring *)password withblock:(void (^)(nsdictionary *, nserror *))block{ nsdictionary *params = @{@"username" : phone, @"passwd" : password, @"session_id":[[constant instance] session] }; [[networkmanager sharedclient] postpath:apiuserlogin parameters:params withblock:block]; }
params should dictionary [nsobject : anyobject] instead of anyobject!.
try this:
let params: [nsobject : anyobject] = ["username" : phone, "passwd" : password, "session_id" : constant.instance().session] and change method parameters
func loginmobilephone(phone: string, password: string, withblock block: ((result: [nsobject : anyobject] , error: nserror)-> void) ) { // ... code }
Comments
Post a Comment