У меня есть контроллер представления, который перечисляет некоторые данные в UITableView
. Для загрузки загруженных данных я использую ASIHTTPRequest
, которые я поместил в другой класс.
В моем контроллере представления я настроил соответствующих делегатов для обработки данных, которые извлекаются из ASIHTTPRequest
. Поэтому из моего контроллера вида в - viewDidLoad
я выделяю и инициирую свой класс, который содержит методы ASIHTTPRequest
, например:
self.officesParser = [[[OfficesParser alloc] init] autorelease]; // retained property
Тогда в - viewDidAppear:
я звоню [officesParser downloadOffices];
Мой - downloadOffices
метод выглядит следующим образом:
- (void)downloadOffices {
// 1. Downloaded offices.json
NSURL *officesUrl = [NSURL URLWithString:@"http://example.com/example.json"];
ASIHTTPRequest *officesRequest = [ASIHTTPRequest requestWithURL:officesUrl];
// Always ask the server if there is new content available,
// If the request fails, use data from the cache even if it should have expired.
[officesRequest setCachePolicy:ASIAskServerIfModifiedCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy];
// Store the cache permanently
[officesRequest setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[officesRequest setTag:1];
OfficesViewController *vc = [[OfficesViewController alloc] init];
[officesRequest setDelegate:vc];
[vc release];
[officesRequest startAsynchronous];
}
Каждый раз после вызова метода [officesParser downloadOffices]
я получаю:
*** -[OfficesViewController respondsToSelector:]: message sent to deallocated instance 0x6a2f6c0
Что я здесь не так делаю?