Об инициализации в Objective C iPhoneSDK - PullRequest
0 голосов
/ 18 января 2011

У меня проблема с инициализацией двух объектов.У меня есть:

banner = [[UIBannerViewController alloc] initWithNibName:@"UIBannerViewController" bundle:nil];
NSLog(@"Banner: %@", banner);
homeBanner = [[UIBannerViewController alloc] initWithBanner:vistine];
NSLog(@"HomeBanner: %@", homeBanner);

Внутри UIBannerViewController У меня есть:

- (void)viewDidLoad {
if ( !isInitialized ) {
    bannerViews = [[NSMutableArray alloc] initWithCapacity:0];
    images = [[NSMutableArray alloc] initWithCapacity:0];
    // DEPRECATED
    [NSThread detachNewThreadSelector:@selector(loadDataFromInternet) 
                             toTarget:self 
                           withObject:nil];
} else {
    // TODO: Questo non va più bene qua.
    // [pageControl setNumberOfPages:[images count]];
    [pageControl setNumberOfPages:[bannerViews count]];
    [pageControl setCurrentPage:0];
}

Независимо от того, что я делаю: если я раскомментирую следующий фрагмент кода

bannerViews = [[NSMutableArray alloc] initWithCapacity:0];
    images = [[NSMutableArray alloc] initWithCapacity:0];
    // DEPRECATED
    [NSThread detachNewThreadSelector:@selector(loadDataFromInternet) 
                             toTarget:self 
                           withObject:nil];

Приложение аварийно завершает работу с исключением: * - [NSMutableArray objectAtIndex:]: индекс 0 за пределами для пустого массива.В чем / может быть проблема

1 Ответ

0 голосов
/ 18 января 2011

Использование массива автоматического освобождения NSMutable [NSMutableArray arrayWithCapacity:0]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...