2009-10-09 7 views
0

에 NSStrings을 포함 NSMutable 배열을 보여아이폰, 나는 다음과 같은 코드를 사용하는 방법이 UIPickerView

NSMutableArray *pickerArray = [[NSMutableArray alloc] init]; 

    int i; 

    for(i = 1; i <= 7; i++) { 
     NSString *myString = [NSString stringWithFormat:@"%@", i]; 
     [pickerArray addObject:myString]; 
    } 

    for(i = 1; i <= 7; i++) { 
     NSString *fieldName = [[NSString alloc] initWithFormat:@"column%d", i]; 

     [self setValue:pickerArray forKey:fieldName]; // setValue or initWithArray ??? 

     [fieldName release]; 
     [pickerArray release]; 
    } 

    srandom(time(NULL)); 

내가 빌드 응용 프로그램의 모든 것이 제대로 빌드하지만 내가 다음과 같은 오류가 콘솔의 시작에 충돌하는 경우 :

* - [NSCFString의 수퍼] 의한 캐치되지 않는 예외 'NSInvalidArgumentException'이유로 인스턴스 앱 종료 0x380da90 * 전송 인식 선택기 '*** - [NSCFString의 수퍼] : 미정 선택기 인스턴스 0x380da90 전송'

만약 대신 ... UIImages 후 모든 것이 제대로 작동을 포함 UIImageView에 내가 사용하는 문자열을 포함하는 배열을 사용

난 단지 50-1에서 숫자의 배열 내 선택기를 채우는 싶습니다

...

도움이 정말 감사 할 것입니다 ...이 일은 나를 미치게합니다. :)

답변

0

[myString release] 싶지 않아요; 첫 번째 for 루프에서 생성 한 문자열이 자동으로 해제 됨 (엄지 손가락의 규칙, alloc, init 또는 new없이 생성 된 것은 자동 해제 됨)

+0

당신은 완전히 옳습니다. 그것은 그것이 작동하도록 만드는 마지막 시도였습니다 ... 문자열을 풀지 않을지라도 ... 다른 생각은 없습니까? 어쨌든 귀하의 답변을 주셔서 감사합니다! – noboruwatanabe

+0

일부 nslog()를 던져서 충돌이 발생한 지점을 알 수 있습니까? 또한, [pickerArray release]를 두지 않습니다. 내부에서 두 번째 for 루프는 pickerArray를 과도하게 릴리스합니까? – ACBurk

0

문제가 해결되었습니다. pickerview의 요소 수, 메서드 자체와는 아무 관계가 없습니다! 어쨌든 고마워!

+0

문제를 해결 한 경우이 정보를 편집하여 해당 정보를 포함하고 답변으로 수락하십시오. – kersny