シングルトンでは、当該データ(インスタンス)がなければ生成し、あれば現状(インスタンス)を維持するオブジェクトの生成(インスタンス化)のための+メソッドとその状態を保持するStatic変数を実装することで、インスタンスの取得指示で一つのインスタンスのみを操作することができるため、そのインスタンスを複数のオブジェクトで共有することができる。
シングルトンの実装方法
SingletonManager.h
@interface SingletonManager : NSObject {
NSInteger managedParam;
}
@property NSInteger managedParam;
+ (id)sharedManager;
@end
SingletonManager.m
static id theSharedManager = nil;
@synthesize managedParam;
+ (id)sharedManager {
if (theSharedManager == nil) {
theSharedManager = [[self alloc] init]; }
return theSharedManager;
}
- (id)init
{ self.managedParam=0; return self; }
- (void)dealloc { [super dealloc]; }
シングルトンの利用方法
SomeClass.m
#import "SingletonManager.h"
.....
SingletonManager *single =
[SingletonManager sharedManager];
single.managedParam=100;
明示的な初期化と開放
SingletonSampleAppDelegate.m
#import "SingletonManager.h"
- (void)applicationDidFinishLaunching:...
(void)[SingletonManager sharedManager];
}
- (void)dealloc {
SingletonManager *single =
[SingletonManager sharedManager];
[single dealloc];
}
にゃーるへそ。
http://ylb.jp/iOSDev/SingletonSample.pdf
0 件のコメント:
コメントを投稿