大佬教程收集整理的这篇文章主要介绍了ios – 保持字典内的块,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试这个代码,但执行下面的行(setObject …)后,字典仍然是空的.我认为这是因为块不是类型NSObject.但是,这样做的正确方法是什么?
- (void)startSomething:(NSURLrequest*)request block:(void (^)(NSURLResponse*,NSData*,NSError*))handler { NSURLConnection *connection = [NSURLConnection connectionWithrequest:request delegate:self]; [pendingrequests setObject:handler forKey:connection]; }
编辑:
没关系.我不知道我在想什么3分:
>块是对象
> Typo:setObject应该是SETVALue
> forKey是一个字符串,所以应该是[连接描述]或类似的东西
无论如何我现在解决了我的问题:
- (void)startSomething:(NSURLrequest*)request block:(void (^)(NSURLResponse*,NSError*))handler { NSURLConnection *connection = [NSURLConnection connectionWithrequest:request delegate:self]; [pendingrequests SETVALue:handler forKey:[connection description]]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^(void) { void (^handler)(NSURLResponse*,NSError*); handler = [pendingrequests valueForKey:[connection description]]; handler(nil,nil,nil); }); }
以上是大佬教程为你收集整理的ios – 保持字典内的块全部内容,希望文章能够帮你解决ios – 保持字典内的块所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。