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으로 등록하여 사용할 수 있다.
대략 이정도가 있는거 같다.
아직 유연하게 적제적소에 사용하기엔 실력과 경험이 후달리지만...
모른다고 안쓰기에도 아깝지 않은가??응?
반응형