为什么在类实例上调用方法会使与该方法关联的委托方法不会触发,是否有任何结构性原因?
A类:
-(void)methodB //public
{
NSURLConnection *url = [[NSURLConnection alloc]init];
url.delegate = self;
[url start];
}
- (void)connection: (NSURLConnection *)connection didReceiveResponse: (NSURLResponse *)response //delegate Method C
{
NSLog (@"Connection worked");
}
Class X中的一些方法:
ClassA *littleA = [[ClassA alloc] init];
[littleA methodB];
问题在于connection:didReceiveResponse:
没有被调用。
但是,如果我从[self methodB]
的实例方法中执行ClassA
,它显然有效。
答案 0 :(得分:1)
由于您尚未为所述连接设置委托,因此未调用NSURLConnection委托方法
NSURLConnection *url = [[NSURLConnection alloc]init];
url.delegate = self;
[url start];