IOS 개발 의 NSMutableArray 와 NSArray 의 차이
2057 단어 IOSNSMutableArrayNSArray
우선,두 사람의 차 이 를 살 펴 보 자.
NSArray and its subclass NSMutableArray manage collections of objects called arrays.
NSArray creates static arrays, and NSMutableArray creates dynamic arrays.
NSMutableArray 는 NSArray 의 하위 클래스 입 니 다.NSArray 는 정적 배열 을 만 들 고 NSMutableArray 는 동적 배열 입 니 다.다시 말 하면 NSArray 가 만들어 진 후 수정 할 수 없 으 며 NSMutableArray 는 수정 할 수 있 습 니 다.ObjC 에서 함수 addObject 를 간단하게 보면 배열 의 요 소 는 id 형식,즉 지침 을 발견 할 수 있 습 니 다.
-
(void)addObject:(id)anObject
이렇게 되면 배열 에 NSUInteger,BOOL 같은 비 지침 형 데 이 터 를 누 를 수 없 으 니 죽 을 지경 입 니 다.그럼 이 내용 을 눌 러 야 되 는데 어 떡 하지?네,형식 변환,ObjC 는 NSNumber 를 제공 하여 여러분 에 게 변환 을 제공 합 니 다.NSNumber 자 체 는 포인터 형식 변수 입 니 다.
Inherits from NSValue : NSObject
간단 한 변환 예:
NSUInteger
count = 1;
NSNumber
*j = [NSNumber numberWithInt:count];
[ary
addObject:j];
잘 알 겠 지?이 값 을 쓸 때 또 바 꿔 야 하 는데....................................................어제 마침 배열 의 난 서 를 사용 하여 인터넷 에서 Sample 을 찾 아 수정 하 였 습 니 다.코드 는 다음 과 같 습 니 다.
#pragma
mark -
#pragma
mark (NSMutableArray *)randArray:(NSMutableArray *)ary
-
(NSMutableArray *)randArray:(NSMutableArray *)ary{
NSMutableArray
*tmpAry = [NSMutableArray arrayWithArray:ary];
NSUInteger
count = [ary count];
for
(NSUInteger i = 0; i < count; ++i) {
int
nElements = count - i;
//
Seed the random number generator
srandom(time(NULL));
int
n = (random() % nElements) + i;
[tmpAry
exchangeObjectAtIndex:i withObjectAtIndex:n];
}
return
tmpAry;
}
궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IOS에서 ReplayKit 및 RTC 사용 방법응용된 소리와 아나운서의 소리를 포함한다.이 두 가지 수요를 감안하여 우리는 스크린 공유를 하는 생방송에 필요한 미디어 흐름을 간단하게 분석할 수 있다. 만약 우리가 Audio App과 Audio Mic를 두 개의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.