2011-01-18 4 views
0

두 객체의 초기화에 문제가 있습니다. 내가 가진 다음 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