BIBI BLOG
[Objective-C]NSArray다루기 본문
■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
'iOS > Objective-c' 카테고리의 다른 글
[Objective-C]서버에 대한 인증서가 유효하지 않습니다. (SSL 무시) (0) | 2021.12.20 |
---|---|
[Objective-C]NSMutableArray다루기 (0) | 2020.10.09 |
[Objective-C]NSDate와 날짜다루기 (0) | 2020.10.05 |
[Objective-C]NSMutableString다루기 (0) | 2020.10.02 |
[Objective-C]NSString다루기 (0) | 2020.10.01 |