2010-06-02 2 views
0

NSMutable 배열에 NSData 개체를 추가하는 중입니다. 코드가 잘를 실행하지만,이 array.The 코드 객체를 추가되지 다음과 같다 :Objective-C의 배열에 데이터를 추가 할 때의 문제

NSData * imageData = UIImageJPEGRepresentation(img, 1.0); 

int i=0; 

    do{ 

     if([[tempArray objectAtIndex:i] isEqual:imageData]) 
     { 
      [tempArray removeObjectAtIndex:i]; 
     } 
     else 
     { 
      [tempArray addObject:imageData]; 
      //NSLog(@"ANURAG %@",[tempArray objectAtIndex:0]); 
     } 
    }while(i<[tempArray count]) ; 

NSLog 문 추가 오브젝트가 null 도시하지만 imageData의 값이 널이 아니다.

이 코드가 작성된 클래스의 정적 멤버로 tempArray를 정의했습니다.

이미지의 데이터이므로 데이터 객체의 크기 때문입니까?

+1

자신을 1로 제한 할 수 있습니까? 또는? 문장 하나 하나? Multiple !!!과 ???는 질문을 어리 석고 프로답지 않게 만듭니다. –

+0

이것은 일종의 무한 루프라고 생각합니까? [tempArray objectAtIndex : 0] 대신에 tempArray를 기록하면 어떻게됩니까? 아직도 널 응? – hooleyhoop

+0

나는 방금 테스트 용으로 삽입 한 i 의 값을 보지 마십시오. – anurag

답변

2

이 코드 섹션보다 먼저 tempArray를 초기화합니까? 초기화되지 않은 배열에는 객체를 추가 할 수 없습니다.

tempArray = [[NSMutableArray alloc] init]; 
+0

Tom에게 감사드립니다. 하지만 문제는 응용 프로그램이 배열에 imageData를 추가 할 때 충돌이 발생한다는 것입니다. 데이터 객체의 크기가 제한되어야합니까 ??? 예외는 캐치되지 않은 예외 'NSRangeException'으로 인해 앱 종료 중 '이유는 다음과 같습니다.'*** [[NSCFArray objectAtIndex :] : 경계 (0)를 벗어난 인덱스 ( – anurag

+1

) '[[[tempArray objectAtIndex : i ] isEqual : imageData]'배열이 비어있을 때. – JeremyP

+0

@JeremyP 예 Jeremy u가 옳았습니다. 감사합니다. – anurag

관련 문제