Xcode:インスタンスを1つのみ生成し共用する

// インターフェースファイルによるクラス宣言
@interface commonSub : NSObject{
NSDictionary* dict; //インスタンス変数
}
+ (id) instance; //クラスメソッド
– (NSDictionary*) getDict; //インスタンスメソッド
– (void) setDict:(id)dict; //インスタンスメソッド
@end

// 実装ファイルによるクラスの中身の記述
#import “commonSub.h”
@implementation commonSub
// ンスタンス生成クラスメソッドの実装
+ (id) instance
{
static commonSub* _instance = nil; //静的変数として保存され消えない
if (!_instance) { //インスタンスがセットされているかチェック?
_instance = [[commonSub alloc] init ]; //インスタンスを生成して保存
} // インスタンスが設定されていれば何もしない
return _instance; //インスタンスを返却する
}
// インスタンス・メソッドの実装
– (NSDictionary*) getDict
{
return dict;
}
– (void) setDict:(id)w_dict
{
dict = w_dict;
}
@end

// 実際の使用例
// commonSubのインスタンスを生成しsetDictメソッドを使用する
// setDictはインスタンスに値を設定する
[[commonSub instance] setDict:w_dict];

コメントを書く







コメント内容


Since1991 © Shimayugu All Rights Reserved.
アップルおよびアップルのロゴは、米国および他の国々で登録されたApple Inc.の商標です。
湘南マッキントッシュユーザーズグループは、独立したユーザグループで、Apple Japan合同会社が権限を与えた団体、支援する団体、またはその他に承認する団体ではありません。