0
在下面的代碼片段中,使用ARC,我如何讓委託生存足夠長的時間來調用這兩個方法?如何讓ARC保留一個足夠長的委託讓它在塊中調用?
現在我得到一個編譯錯誤
壞接收器類型「__autoreleasing標識*」
我想我需要做一些事情,使ARC保留委託,並釋放它,當它完成呼叫但不知道做正確的事情是什麼。
- (BOOL) requestFromURL:(NSString*)url withDelegate:(id<SimpleDataDelegate>*) delegate
{
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://..."]]
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
if (error)
{
[delegate gotFailure:data];
}
else
{
[delegate gotResult:data];
}
}];
return YES;
}
堵嘴,什麼是褐紅色。當然id *會讓ARC感到困惑。感謝您指出我的方式錯誤!第一個顯然是我的意思。顯然這個問題是一個錯誤的類型o。 – ahwulf
ARC對此並不感到困惑。弧可以和確實處理id *絕對好。但似乎(1)在這種情況下是錯誤的,(2)對你感到困惑。 – gnasher729