336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[Objective-C]NSArray, NSMutableArray객체

[Objective-C] 2009/01/05 14:15
NSArray는 다른 객체 포인터들의 목록이다.

- 자주 사용되는 메소드
- (unsigned)count -> 현재 배열의 객체의 수를 리턴한다.
- (id)objectAtIndex:(unsigned)i -> i번째 위치한 객체를 리턴한다.
- (id)lastObject -> 현재 배열의 맨 마지막 객체를 리턴한다.
- (BOOL)containsObject:(id)anObject -> 현재의 배열에 anObject오브젝트를 포함하면 YES 아니면 NO
- (unsigned)indexOfObject:(id)anObject -> 리시버에서 anObject가 있는지 가장 낮은 색인부터 검색하  여 배열의 색인 값을 리턴한다. 찾지 못하면 NSNotFound를 리턴한다.

- NSMutableArray는 NSArray를 상속받았지만 객체를 삽입하고 삭제할 수 있도록 확장되었다.

자주 사용되는 메소드

             - (void)addObject:(id)anObject -> anObject를 리시버의 끝에 삽입한다. nil배열은 넣을 수 없다.

 - (void)addObjectsFromArray:(NSArray *)otherArray ->

 - (void)insertObject:(id)anObject atIndex:(unsigned)index -> 

             - (void)removeAllObjects -> 리시버에 포함된 모든객체를 제거한다.
             - (void)removeObject:(id)anObject -> 리시버 배열 안의 anObject를 삭제한다.
             - (void)removeObjectAtIndex;(unsigned)index -> index의 객체를 제거한다.


[출처] 마음으로 보는 블로그

블로그 이미지

By훈트

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

Sound is Style, beats by dr.dre

 

수많은 뮤지션과 프로듀서들이 추구하던 음질에 가깝게, 스튜디오에서 만들어낸 음질을 그대로 들을 수 있는

닥터 드레 헤드폰/이어폰 시리즈 들이 매그앤매그에 신규입고되었습니다!

 
고가이기 하지만, 강한 사운드와 비트감이 돈이 아깝지 않을정도로 listener의 진정한 기쁨이라고 해도 손색이 없습니다!

 

일명 '권지용' 헤드폰이라고 불리는 닥터 드레 헤드폰 시리즈.

GD, 2ne1의 CL, 박봄, Tiger JK 등등 정말 많은 국내 셀러브리티들의 it 헤드폰/이어폰입니다.

 

   

그럼, 해외스타들의 착용샷을 살펴볼까요?

 

 

Pharrell Williams, EMINEM, Kanye West, will.i.am (왼쪽위부터 시계방향)

 

 

Gwen Stefani

 

 

 그리고 요즘 hot issue인 LADY GAGA.

 레이디 가가와는 콜라보레이션한 이어폰까지 출시되었는데요. 레이디 가가 콜라보레이션 제품인

 Heartbeats™ by LADY GAGA 는 무섭게 솔드아웃되는 제품이니, 놓치지 마세요~!

 

 

 

Beats™ by Dr. Dre 제품보러가기

 

- Beats™ by Dr. Dre™_Studio click!

- Beats™ by Dr. Dre™_Tour CT click!

- Beats™ by Dr. Dre™_SOLO click!

- Heartbeats™ by LADY GAGA click!



[출처] MAG님의 블로그

'Daily > 훈트의일상' 카테고리의 다른 글

린소프트웨어 개발 방법론  (4) 2012.02.27
나이키 신발 사이즈  (0) 2011.03.11
와우 방문자 1만찍었...ㄷㄷㄷ  (3) 2010.11.19
토탈 5000 뿌 ㅎㅎㅎ  (0) 2010.10.02
Total 1004 기념~~  (0) 2010.08.18
블로그 이미지

By훈트

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


object-c에서의 메모리 관리는 레퍼런스 카운트 (reference count)를 이용합니다.

모든 객체는 자신을 참조하는 수에 대한 내부 카운터를 가지고 있습니다.


-alloc : 해당 객체에 메모리를 할당하고 레퍼런스 카운트를 1 올립니다.

-retain : 해당 객체의 레퍼런스 카운트를 1 올립니다.

-copy : 해당 객체의 복사본을 만듭니다. 그리고 복사본의 레퍼런스 카운트를 1 올립니다.

-release : 해당 객체의 레퍼런스 카운트를 1 낮춥니다.

-autorelease : 정해지지 않은 시점에 해당 객체의 레퍼런스 카운트가 -1 낮아집니다.


규칙

1. 블록 내에서 alloc, retain, copy의 수와 release, autorelease 수가 동일해야 합니다.

2. factory 함수를 사용해 생성한 객체의 경우는 대부분 autorelease로 반환됩니다. 따로 release를 할 필요가 없습니다.

3. 클래스의 인스턴스 변수들은 dealloc 메소드에서 다 release해야 합니다.


예1. dealloc


- (void) dealloc

{

[vid release];

[title release];

}


예2. 로컬블록


{

NSString *name = [[NSString alloc] initWithString:@"Dreaming"];

NSString *co = [NSString stringWithString:"daum"];

NSString *book = @"iPhone Book";


//alloc만 release하면 됩니다.

[name release];

}


예3. autorelease 블록지정 : 해당블록의 autorelease메시지를 받은 객체들은 autorelease가 release되자마자 메모리에서 사라집니다.


NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

~~~

~~~

~~~

[pool release];


예4. 다양한 예


-(void) resetTitle

{

//alloc으로 인해 1 올라감

NSString *newTitle = [[NSString alloc] initWithString:@"A"];

[self setTitle:newTitle];    //접근자 사용

[newTitle release];         //메모리에서 제거

}


-(void) resetTitle

{

//factory함수로 autorelease가 됨, release할 필요 없음.

NSString *newTitle = [NSString stringWithString:@"A"];

[self setTitle:newTitle];      //접근자사용

}


NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];

int i;


for ( i = 0; i < 10; i++)

{

NSNumber *n = [NSNumber numberWithInt:i];

[array addObject:n];

}


NSNumber인 n을 생성했고 autorelease 메시지를 받아 언젠가 레퍼런스 카운트가 0으로 되어 사라질 것 같습니다만, 배열에 추가하는 addObject는 받는 인자를 바로 retain합니다. 그러니 한시적으로 레퍼런스 카운트가 2가 됩니다만 pool이 비워질 때 1이 되고, 배열이 사라질때 0이 됩니다.


NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];

int i;


for ( i = 0; i < 10; i++)

{

NSNumber *n = [[NSNumber alloc] initWithInt:i];

[array addObject:n];

[n release];

}


[출처]새카만곰돌이님의 블로그

블로그 이미지

By훈트

,