佚名通过本文主要向大家介绍了怎么修改qq密保问题,如何修改qq密保问题,qq密保问题修改,修改密保问题,qq密保问题修改密码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:修改qq密保问题 ios block外变量修改问题
描述:
解决方案1:
描述:
__block NSMutableArray *test = [NSMutableArray array];
[homeTool getAddPictureSuccess:^(NSString *addURL) {
[test addObject:addURL];
} failure:^(NSError *error) {
}];
代码如上,出了block,test这个数组还是为空,请问怎么写才能让addURL正确插入test中呢?
解决方案1:
test 是在方法里初始化时获得了一次引用,然后又因为__block获得了一次引用,此时test引用数为2,但是这个getAdd...里的block不是立即执行的,所以是先走完方法,test引用为1,再走完block,test引用为0,被销毁,所以你要确保在block走完前去使用test。
解决方案2:那个 block 是个回调,要 getAddPictureSuccess 成功之后才会被调用,并不是直接调用的,相当于注册一下,如果成功了就执行 success block,如果失败了就执行 failure block。但是这个注册是立即返回的。