BIBI BLOG

[Objective-C]NSArray다루기 본문

iOS/Objective-c

[Objective-C]NSArray다루기

BIBI⭐️ 2020. 10. 7. 00:36
728x90

■NSArray클래스

NSArray는 배열과 마찬가지로 나중에 오브젝트를 추가하거나 보관할 수 있는 요소를 늘릴 수 없습니다. 보관할 수 있는 요소의 수는 고정되어 있으며 인스턴스를 초기화한 단계에서 결정할 수 있습니다. 그래서 보관할 객체가 이미 정해져 있으면 이렇게 인스턴스 작성 단계에서 전부 넘겨주고 작성하는 것이 좋습니다.

○NSArray 만들기
NSArray *변수 = [NSArray arrayWithObject:《id》];
NSArray *변수 = [NSArray arrayWithObjects:《id》,《id》,……];
→arrayWithObject : 는 하나의 객체만 인수로 지정하고, arrayWithObjects : 는 콤마로 여러 개 객체를 계속 지정할 수 있습니다.
--------------------------------------예제--------------------------------------
NSArray * arr = [NSArray arrayWithObjects : @ "Hello"@ "Welcome"@ "Bye", nil];
NSLog (@"%@", arr);
→HelloWelcomeBye
※주목하는 요소로 인수의 마지막에있는 「nil」입니다. 「nil」은 객체가 존재하지 않는 상태를 나타내는 특수한 값입니다.
Objective-C에서 NSArray과 같이 다수의 개체를 관리하는 클래스를 사용할 때, 마지막에 「nil」을 요소로 넣으면,
「여기가 마지막이다」라는 것을 명확하게 나타낼 수 있습니다. 「nil」을 넣지않으면 에러가 발생합니다.

■NSArray조작하기

○인덱스을 지정해 객체 추출하기
변수 = [《NSArray*》 objectAtIndex:《NSUInteger》];

○객체를 지정해 인덱스 추출하기
변수 = [《NSArray*》 indexOfObject:《id》];

○요소의 수
변수 = [《NSArray*》 count];
※요소가 없다면 「-1」이 반환됩니다.

--------------------------------------예제--------------------------------------
NSArray* arr = [NSArray arrayWithObjects:@"Hello",@"Welcome",@"Bye",nil];

NSUInteger n = [arr count];
for(int i = 0;i < n;i++){
    NSLog(@"%i:%@",i,[arr objectAtIndex:i]);
}
→0:Hello
 1:Welcome
 2:Bye

■NSArray에 객체 추가하기

○객체 추가하기
변수 = [《NSArray*》 arrayByAddingObject:《id》];
변수 = [《NSArray*》 arrayByAddingObjectsFromArray:《NSArray*》];
--------------------------------------예제--------------------------------------
NSArray* arr = [NSArray arrayWithObjects:@"one",@"two",nil];

NSArray* arr2 = [NSArray arrayWithObjects:@"three",@"four",nil];
NSArray* newarr = [arr arrayByAddingObjectsFromArray:arr2];
NSUInteger n = [newarr count];
for(int i = 0;i < n;i++){
    NSLog(@"%i:%@",i,[newarr objectAtIndex:i]);
}
→0:one
 1:two
 2:three
 3:four

 

728x90
Comments