2012-09-16 3 views
0

내 코드 NSMutableArray를 사용하여 UILabel을 추가 할 수없는 이유는 무엇입니까?

for (int i=0; i < kNumberOfTitles; ++i) { 
    UILabel * aLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, i*10, 100, 30)]; 
    [_titles addObject:aLabel]; 
    NSAssert([_titles objectAtIndex:0] != nil, @"wrong 1"); 
} 
NSAssert([_titles objectAtIndex:0] != nil, @"wrong 2"); 
((UILabel *)[_titles objectAtIndex:0]).text = @"Tel"; 
((UILabel *)[_titles objectAtIndex:1]).text = @"Add"; 
for (UILabel* aLabel in _titles) { 
    [self.view addSubview:aLabel]; 
} 

첫 NSAssert 전에, 난 그냥이 전무의 발견을 검색 한 다음 새 레이블을 추가하고, 다음과 같다. 무엇이 문제입니까?

+0

배열을 할당하고 초기화합니까? –

답변

2

ARC를 사용하지 않으면 간단한 로컬 변수 인 경우 인스턴스 변수 (ARC를 사용하는 경우) 또는 일부 가비지 값인 경우 nil이므로 어레이를 실제로 생성하지 않는다고 생각됩니다. 어레이에 항목을 추가하기 전에

을 수행해야합니다.

+0

한숨 ... 네, 맞아요. 나는 그것을 잊는다. .. 매우 고마워한다. – CCC

관련 문제