iOS 단계 학습 15일차 노트(NSArray 및 NSMutable Array 배열)

13056 단어 NSArray
iOS 학습(OC 언어) 지식 포인트 정리
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]];

좋은 웹페이지 즐겨찾기