我有一个名为 myViewController 的视图控制器。然后我有一个名为 myLogic 的 NSObject。myLogic 有一个名为 executeLogic() 的方法,它将调用一些委托方法。(我猜委托方法是在单独的线程中调用的)。我正在从 myViewController 调用 executeLogic(),我希望它在返回执行 myViewController 上的下一个命令之前执行所有委托方法。现在我得到这个错误
[URLRequestDBStoreLogic respondsToSelector:]: message sent to deallocated instance 0x5d2cff0
我猜是因为它在调用委托方法之前返回到主线程?我不知道。有什么解决办法吗?将不胜感激。:)
这是调用 URLRequestDBStoreLogic 类的地方(注意这是一个 NSObject 类)
URLRequestDBStoreLogic * urlRequestLogicDBStoreLogic = [[URLRequestDBStoreLogic alloc]init];
[urlRequestLogicDBStoreLogic loadObjectsAtRemoteServer];
这就是被调用的方法所做的
- (void) loadObjectsAtRemoteServer {
RKURL * url = [RKURL URLWithBaseURLString:@"http://y.co.uk/share/proxy/alfresco/slingshot/search?site=&term=&tag=x&maxResults=251&sort=&query=&repo=false"];
objectManager = [RKObjectManager managerWithBaseURL:url];
//Some other Code
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"?tag=x" delegate:self];
}
这就是它在 if 语句中中断的地方。
// Setup the NSURLRequest. The request must be prepared right before dispatching
- (BOOL)prepareURLRequest
{
[_URLRequest setHTTPMethod:[self HTTPMethod]];
if ([self.delegate respondsToSelector:@selector(requestWillPrepareForSend:)]) {
[self.delegate requestWillPrepareForSend:self];
}
}