티스토리 뷰

iOS/자료정리

[iPhone] 전역으로 사용하기

썩소천사 2011. 8. 10. 16:06
반응형
어플내에서 하나의 데이터를 여러곳에서 사용하거나 하나의 View를 여러곳에서 접근할 경우가 생긴다.

이럴 때 전역으로 객채를 생성해서 사용하게 된다.

처음에는 UserDefault값을 이용하여 모든 공유객채를 appDelegate에 넣어 사용하였지만 어플규모가

커지면서 별도의 공간을 만들어 놓고 사용해야 할듯 싶어 singleton을 사용하거나 extern을 사용하게 되었다.




//extern 을 사용하기
extern으로 선언된 객채를 사용하기 위해서 해당 객채가 속한 클래스를 import해서 바로 사용하면 된다.
해당 클래스에 접근하고자 하는 속성은 @property 설정이 되어 있어야 한다.
해당 클래스를 alloc 생성하지 않고 사용해도 되는 점에서 편리하다.

#import "AppDelegate.h"

g_delegate.id = @"test";


//.h
extern AppDelegate *g_delegate;
extern UIView* g_effectView;

//.m
AppDelegate* g_delegate = nil;
UIView* g_effectView = nil;

g_delegate = self;
g_effectView = tempEffectView;


//singleton 사용하기
extern과 마찬가지로 import하여 바로 객채에 접근할 수 있으며 별도의 alloc이나 release는 하지 않아도 된다.
AVAudioPlayer, CLLocationManager 등도 경우에 따라 singleton으로 등록하여 사용할 수 있다.



대략 이정도가 있는거 같다.

아직 유연하게 적제적소에 사용하기엔 실력과 경험이 후달리지만...

모른다고 안쓰기에도 아깝지 않은가??응?

반응형
댓글
반응형