我有这段代码:
__block id <BitlyConnectionDelegate> blockDelegate = [self delegate];
__block BitlyConnection *blockSelf = self;
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
//do some stuff
[blockDelegate someMethod:blockSelf withParameters:parameters]; //calling a delegate method
}];
所以我NSLoged委托的类,在块之前,委托类是正确的,但它会改变,有时块委托是__NSArrayI或__NSMutableRLEArray 这会导致错误:
[__ NSArrayI someMethod:withParameters]无法识别的选择器发送到实例
blockDelegate变量正在改变,但我不知道它是如何改变的以及为什么。 任何提示/建议都会很棒。解释为什么它的变化非常受欢迎。
注意:我拥有这两个课程并自己编写。
杰克