2011-06-12 5 views
2

NSMutableArray를 사용하여 NSInteger를 할당하고 싶습니다.이를 해결할 방법이 있습니까? 시뮬레이터에서 작동하지 않고 응용 프로그램을 실행할 때 잘립니다.NSMutableArray에서 정수를 할당하는 방법

NSInteger Section; 
NSMutableArray dataSourceSection; 

Section = (NSInteger)[dataSourceSection objectAtIndex:2]; 

감사합니다.

+2

잘못이다. u 제안 할 수 있습니까 ?? – AmineG

답변

8

NSMutableArray은 개체 만 저장합니다. NSInteger은 개체가 아니라 원시 데이터 형식입니다. 그러나 객체 내에 숫자 값을 저장하는 대신 사용할 수있는 클래스 NSNumber이 있습니다. 한 가지 예가 있습니다.

NSNumber *five = [NSNumber numberWithInteger:5]; 
NSMutableArray *numbers = [NSMutableArray array]; 
[numbers addObject:five]; 

는 개체를 다시 얻을 정수 값 사용을 검색하려면

NSNumber *firstNumber = [numbers objectAtIndex:0]; 
NSInteger valueOfFirstNumber = [firstNumber integerValue]; 
+0

번호 출력의 정수를 넣어야 할

NSMutableArray *array = [[NSMutableArray alloc] init]; // populate the array with NSNumbers NSInteger number = [[array objectAtIndex:2] intValue]; 

0

당신이 객체가 아니라 아무것도 넣을 수 없습니다 기본적 때문에,있는 NSMutableArray를 벗어난 NSInteger를 당길 수 없습니다 NSMumber는 NSMutablearray에 숫자를 입력하는 방법이 될 것입니다. 당신이 경우에 그래서 당신은 쉽게의 NSNumber이다 개체, 잡아, 그리고에 의해 NSInteger로 변환 할 수 있습니다 :

당신은의 NSNumber 객체
+0

... 및 메소드와 호환되지 않는 포인터 -Integer를 찾을 수 없습니다. –

+0

오른쪽, 죄송합니다. 동료가 "integerValue"대신 "intValue"코드를 편집했습니다. 배열을 할당하고 초기화하고 있습니까? – Ramuel

관련 문제