1.배열 객체의
종류
Foundation배열은 인스턴스의정렬된
모임입니다.
일반적인언어에서는 배열의 원소는 특정한 하나의 자료형으로구성되지만 여러 자료형으로 만들 수도
있습니다.
배열도2가지가있습니다.
수정이불가능한 NSArray 과수정이
가능한 NSMutableArray이있습니다.
배열클래스는 NSArray.h 헤더파일에 정의되어
있습니다.
2.NSArray의
생성과요소 접근
1)NSArray의
생성
NSArray* 배열명 =[NSArray
arrayWithObjects: 인스턴스나열.., nil];
배열원소의 나열이 끝나면 마지막에 nil을삽입해야 합니다.
배열원소의 끝을 나타내는 것으로 실제로 저장되지는않습니다.
arrayWithObjects는생성자
입니다.
다른배열로부터의 복사해서 초기화
-(id)initWithArray:(NSArray*)anArray
-(void)getObjects: (id
*)aBuffer
C 형태의배열에 복사
2)NSArray의 요소
접근
[배열이름 count]=> 배열의
요소개수 리턴
[배열이름 objectAtIndex: 인덱스]메서드를 이용해서 리턴받을 수 있습니다.
[배열이름 indexOfObject:(id)anObject]anObject가 배열에있으면 위치를 리턴하고 찾지 못하면 NSNotFound를리턴합니다.
-(id)lastObject:마지막 인스턴스리턴
intmain(int argc, char *argv[])
{
inti;
NSNumber*intNumer = [NSNumber numberWithInteger
:100];
NSArray* month = [NSArray arrayWithObjects:
@"January",@"February", @"March", @"April",
@"May",@"June", @"July",
@"August",@"September",
@"October",@"November", @"December",intNumer,
nil];
NSLog(@"한글 영문");
NSLog(@"===== ====");
for(i = 0; i < [month count]; ++i)
NSLog(@"%2i월 %@",i + 1, [month
objectAtIndex: i] );
return0;
}
=======================================================================
NSMutableArray
배열의요소인 객체를 제거하거나 삽입할 수 있는 메서드가제공되는 배열 클래스
메서드
-(id)initWithCapacity:(NSUinteger)numItems
numItems의개수를 가진 배열을
생성
-(void)addObject:(id)anObject
anObject를마지막에
추가
이인수의 값이 nil이면안됨
-(void)addObjectsFromArray:(NSArray*)otherArray
otherArray를추가
-(void)insertObject:(id)anObjectatIndex:(NSUinter)index
index번째에 anObject추가
-(void)replaceObjectAtInde:(NSUinter)indexwithObject:(id)anObject
index번째에 Object를anObject로변경
-(void)setArray:(NSArray*)otherArray
모든내용을 초기화하고 otherArray로변경
-(void)removeAllObjects
모든요소 제거
-(void)removeLastObjects
마지막요소 제거
-(void)removeObjectAtIndex:(NSUinter)index
index번째 제거
-(void)removeObject:(id)anObject
anObject찾아서
제거
예제)
|
int main(int argc,
char *argv[])
{
int i;
NSMutableArray *mAr = [NSMutableArray arrayWithCapacity:
10];
[mAr addObject: [NSNumber numberWithInteger:
1]];
[mAr addObject: [NSNumber numberWithInteger:
5]];
[mAr addObject: [NSNumber numberWithInteger:
7]];
for (i = 0 ; i < [ mAr count]; ++i)
NSLog (@"%d", [[mAr objectAtIndex: i]
integerValue]);
[mAr insertObject: [NSNumber numberWithInteger: 3]
atIndex:1];
NSLog(@"추가된
후");
for (i = 0 ; i < [ mAr count]; ++i)
NSLog (@"%d", [[mAr objectAtIndex: i]
integerValue]);
[mAr replaceObjectAtIndex:1 withObject:[NSNumber
numberWithInteger: 4]];
NSLog(@"변경된
후");
for (i = 0 ; i < [ mAr count]; ++i)
NSLog (@"%d", [[mAr objectAtIndex: i]
integerValue]);
[mAr removeObjectAtIndex:1];
NSLog(@"삭제된
후");
for (i = 0 ; i < [ mAr count]; ++i)
NSLog (@"%d", [[mAr objectAtIndex: i]
integerValue]);
return 0;
}
|