iOS 단계 학습 15일차 노트(NSArray 및 NSMutable Array 배열)
13056 단어 NSArray
1. OC의 수조1)수조: 하나의 대상이기도 하다. 수조에 저장된 것은 대상의 주소이고 임의의 유형의 대상의 주소를 저장할 수 있다. 대상만 구체적인 수치가 될 수 있고 수조는 질서가 있으며 중복된 요소를 저장할 수 있다. 수조도 불가변수조와 가변수조로 나뉜다.1. 변수가 없는 NSArray: 초기화 후 수조의 내용을 수정할 수 없음 2. 변수조 NSMutableArray: 수시로 수조의 내용을 수정할 수 있음(원소 증가, 삭제 원소, 수정 원소) 2. NSArray 수조의 조작 1) NSArray 수조의 창설 1, 창설 방법 1. 실례적인 방법으로 수조 대상을 창설할 수 있음:
1 NSArray *array1=[[NSArray alloc]initWithObjects:@"one",
2 [NSNumber numberWithInt:20],@"three",@"one",@"four", nil];
3 //
4 NSArray *array2=[[NSArray alloc]initWithArray:array1];
2. 작성 방법 2: 클래스 방법으로 배열 객체를 만듭니다. 예를 들어 다음과 같습니다.
1 NSArray *array3=[NSArray arrayWithObjects:@"one",@"two",@"three",@"four", nil];
3. 작성 방법 3: 직접 신속하게 배열을 만듭니다. 예를 들어 다음과 같습니다.
1 NSArray *array4=@[@"one",@"two",@"three",@"four"];
2) 배열에서 사용할 수 있습니다.count는 배열의 요소 개수를 가져옵니다. 예를 들어, 1 NSUInteger number=array 1.count;3) ObjectAtIndex는 배열 아래 첨자에 따라 배열의 요소를 가져오는 데 사용됩니다. 예를 들어,
1 NSString *str1=[array1 objectAtIndex:0];//그룹의 첫 번째 요소 가져오기
2 NSString *str2=array1[0];//C 언어와 같은 방식으로 아래 첨자에 대응하는 요소를 추출합니다 4)firstObject는 배열의 첫 번째 요소인 1 NSString*first=[array1 firstObject]를 가져오는 데 사용됩니다.5) lastObject는 배열의 마지막 요소인 1 NSString*last=[array1 lastObject]를 가져오는 데 사용됩니다.6) indexOfObject는 요소에 따라 해당 요소의 배열 아래 첨자를 가져오는 데 사용됩니다. 예를 들어 1 NSUInteger index=[array1 indexOfObject:@ "three"];//결과: 2 7) 배열에 요소가 있는지 여부를 판단하는 데 사용되는 containsObject:
1 if([array1 containsObject:@"four"]){
2 NSLog(@"contains");
3 }
8) NSArray 배열 반복 방법 1. 반복 반복: 아래 첨자를 통해 각 요소를 추출합니다. 예:
1 for(int i=0;i<array1.count;i++){
2 NSString *s=[array1 objectAtIndex:i];
3 NSLog(@"%@",s);
4 }
2. 교체기법: 교체기 대상을 만들고 array1의 요소를 훑어본다. 예를 들어 다음과 같다.
1 NSEnumerator *enumerator=[array1 objectEnumerator];
2 id obj;
3 //[enumerator nextObject]: , , nil
4 while (obj=[enumerator nextObject]) {
5 NSLog(@"%@",obj);
6 }
3. 빠른 역력법: 역력할 때 요소의 내용을 수정할 수 없다. 예를 들어 다음과 같다.
1 // s
2 for(id s in array1){
3 if([s isKindOfClass:[NSNumber class]])//
4 NSLog(@"number ******%@",s);
5 else if ([s isKindOfClass:[NSString class]]) //
6 NSLog(@"nsstring******%@",s);
7 8 }
9) 배열을 직접 출력하여 인쇄하는 것은 배열의 요소를 자동으로 호출하는 description 방법으로, 예를 들어 모든 요소를 표시합니다.
1 NSLog(@"%@",array1);// : , 。
10) 배열의 각 요소를 지정된 문자로 문자열로 결합하는 데 사용되는 componentsJoinedByString:
NSString *s=[array1 componentsJoinedByString:@","];//
11) componentsSeparatedByString 은 문자열을 지정한 문자로 그룹화하는 데 사용됩니다. 예를 들어:
1 NSString *str=@"hello,nihao,shang,hai";
2 NSArray *array6=[str componentsSeparatedByString:@","];//
12) componentsSeparatedByCharactersInSet은 문자열의 모든 문자로 문자 집합 대상을 만들고 문자 집합 대상에 따라 문자열을 캡처합니다. 예를 들어:
1 NSString *str7=@"hello,@nihao!shang,hai";
2 NSArray *array7=[str7 componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@",@!"]];
3 NSLog(@"array7:%@",array7);
4
5 // : , , @"" , , :
6 if (![str isEqualToString:@""]) {
7 //
8 }
3. NSMutableArray 배열의 작업 1) 가변 수조: 부류는 NSArray이고 NSMutableArray는 배열의 요소(증가, 삭제, 수정)를 조작할 수 있습니다. 2) initWithObjects는 가변 수조 대상을 만드는 데 사용됩니다. 예를 들어 1 NSMutableArray *array 1 = [[[[NSMutableArray alloc] initWithObjects: @"one", @"two",nil].3) addObject는 배열에 마지막으로 대상을 추가합니다. 예를 들어 1 [array1 addObject: [NSNumber numberWithInt: 100].4) insertObject...atIndex...배열의 지정된 색인 위치에 대상을 삽입합니다. 예를 들어 1 [array1 insertObject:@ "shanghai"atIndex:0];5)removeObject는 지정한 요소를 삭제합니다. 여러 개가 있으면 모두 삭제됩니다. 예를 들어 [array1 removeObject: @ "one"].6) removeLastObject는 마지막 요소를 삭제하는 데 사용됩니다. 예를 들어 1 [array 1 removeLastObject].7)removeObjectAtIndex는 배열에서 지정한 위치의 요소를 삭제하는 데 사용됩니다. 예를 들어 1 [array1 removeObjectAtIndex:2].8)removeObject...inRange...지정된 범위 내의 요소를 삭제합니다(지정하지 않으면 모든 것을 삭제합니다). 예를 들어 1 [array1 removeObject:@'two'inRange:NSMakeRange(0,3)].9)removeAllObjects는 배열의 모든 요소를 삭제합니다. 예를 들어 [array1 removeAllObjects].10) replaceObjectAtIndex...withObject...지정된 위치의 요소를 새로운 요소로 대체합니다. 예를 들어 1 [array1 replaceObjectAtIndex:0 withObject:@ "hello"].11) exchangeObjectAtIndex... withObjectAtIndex... 지정한 아래 첨자에 있는 요소를 교환합니다: 1 [array1 exchangeObjectAtIndex: 0 withObjectAtIndex: 2]
12) setArray 재설정 배열의 내용은 다음과 같습니다.
1 NSArray *subArray=@[@"ios",@"two",@"oc"]; 2 [array1 setArray:subArray];
13) 클래스 객체에 대한 NSMutableArray 정렬 작업인스턴스 코드:
//
NSMutableArray *array=[[NSMutableArray alloc]init];
Student *stu=[[Student alloc]init];
stu.name=@"KingKong";
stu.age=24;
stu.no=@"A1088";
stu.score=99;
[array addObject:stu];
// (ascending:NO )
NSSortDescriptor *sortDes = [NSSortDescriptor sortDescriptorWithKey:@"score" ascending:YES];
[array sortUsingDescriptors:[NSMutableArray arrayWithObject:sortDes]];
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
NSArray 정렬에 대한 질문첫 번째, 수조의sortedArrayUsingComparator를 이용하여 NSComparator,obj1과obj2가 가리키는 수조의 대상을 호출한다. 두 번째 정렬 방법은sortedArrayUsingFunction...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.