ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:[NSURL URLWithString:kLoginURL]];
[request setTimeOutSeconds:60];
[request setRequestMethod:@"POST"];
[request addPostValue:userName forKey:@"userNo"];
//设置请求完成的Block
[request setCompletionBlock:^{
NSData *data=request.responseData;
id result=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
callBack([GParser parserLoginInfo:result]);
}];
//异步
[request startAsynchronous];
这里我怎么得到数据,并且不会循环引用啊 |
|
|
有人知道吗?
|
|
|
+(void)loginUserByUserName:(NSString*)userName andPassword:(NSString*)password completion:(CallBack)callBack
我是在类方法里做的请求,我想拿到请求到的数据,解析后通过block传回去 |
|
| 40分 |
Block的循环引用问题。对象request 持有block, 而在block中又持有了request对象,造成循环引用
解决办法就是:让block中持有的request 对象声明成弱引用关系。代码中的体现如下 __weak typeof(request) weakRequest = request; |
|
太感谢了,之前我把这句写block里面去了 |
|