시험 범위 에러
답변
NSArray
클러스터 클래스는 nil
을 저장할 수 없습니다. 그래서 단순히 경계를 확인하기에 충분하다 생각 : 정말 유용 무엇
NSUInteger index = xyz;
if (index < [imageCache count]) {
id myObject = [imageCache objectAtIndex:index];
}
[imageCache 개수]는 배열에있는 항목 수를 반환합니다. 거기에서 가져 가십시오 :-)
신경 쓰지 마세요! 내가 참조! –
이 safeObjectAtIndex:
방법을 가지고있다. 그러면 색인이 범위를 벗어나면 nil
이 반환됩니다.
- (id)safeObjectAtIndex:(NSUInteger)index;
{
return ([self arrayContainsIndex:index] ? [self objectAtIndex:index] : nil);
}
- (BOOL)arrayContainsIndex:(NSUInteger)index;
{
return NSLocationInRange(index, NSMakeRange(0, [self count]));
}
카테고리의 좋은 사용. –
'arrayContainsIndex'도 NSArray 카테고리에서 생성 한 것입니까? 문서에는 그런 방법이 언급되어 있지 않습니다. 솔직히 그러한 것이 존재한다면, 저는 그것을 사용합니다! –
죄송합니다. 잊어 버렸습니다. arrayContainsIndex : 메소드를 사용하여 답변을 업데이트했습니다. – diederikh
이 코드는 귀하의 질문에 대답을 제공합니다. 허용 된 응답과 달리이 코드는 음수 인덱스 값 전달을 처리합니다.
if (!NSLocationInRange(index, NSMakeRange(0, [imageCache count]))) {
// Index does not exist
} else {
// Index exists
}
- 1. 단위 테스트 및 SRP (시험 방법의 범위/조직)
- 2. 구성 에러
- 3. 파이썬리스트 에러
- 4. 구문 에러 :
- 5. 웹 기술 시험 쿼리
- 6. 레일 기능 시험
- 7. "시험"규칙이 있습니까?
- 8. 시험 운전 낸시 모듈
- 9. 전환 시험 :: 단위
- 10. 수은 시험 감독 : 비교
- 11. 시험 시간 기반의 스크립트
- 12. Google 시험 설비
- 13. Paypal 가입 시험 무료!
- 14. 가상 시험 룸 설계
- 15. 시험 주제 : DBMS
- 16. 시험/모의 DotNetOpenAuth 컨트롤러
- 17. Junit4 : 특정 시험 방법
- 18. 레일스 모델링 시험 객체
- 19. iPhone 시험 사용 기간
- 20. 웹 개발자를위한 시험 고안
- 21. SCJP 시험 : 예외 처리
- 22. IPTables 시험 문제
- 23. 시험 값에 대한 레코드
- 24. ejabberd 컴파일 에러
- 25. 아이폰 - PushMeBaby 예 에러
- 26. PHP에서 에러 표시하기
- 27. CodeIgniter의 라우팅 에러
- 28. 글래스 피시 에러
- 29. 비주얼 스튜디오 인텔리 에러
- 30. 오라클 스크립트에서의 에러 처리
+1'NSArray'는'nil'을 저장할 수 없지만'[NSNull null]'을 저장할 수 있습니다 ... –
좋아요, 다음에 관련된 질문입니다.이 이미지들을 비동기 적으로로드하고 있습니다. , 그들은 모두 다른 크기입니다. 따라서 그들이 내게 들어갈 순서를 알려주지 않습니다. 존재하지 않는 인덱스에 대해'[imageCache insertObject : image atIndex : index]'를 실행하려고하면 범위 에러가 발생합니다 . NSArrays는 연속적이어야합니까? –
왜'NSMutableArray' 메쏘드'-addObject :'를 사용하지 않을까요? http://developer.apple.com/mac/library/documentation/cocoa/reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/doc/uid/20000138-BABDEFAA –