2011-01-18 8 views
0

2つのオブジェクトの初期化に問題があります。私が持っている:UIBannerViewControllerインサイドObjective Cの初期化について

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

私が持っていない:

- (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。 performSelectorOnMainThreadこれはクラッシュを引き起こし...すべてのオブジェクトへの彼のメッセージを送信します。 何/であることは

答えて

0

はまあ、それはだ、自動解放NSMutable配列 [NSMutableArray arrayWithCapacity:0]

+0

を使用して問題になる可能性がありますと、方法と思われます。 – IssamTP

関連する問題