すべてのクラスで変数をグローバルに格納および読み取るための最適な方法を探しています。「シングルトン」を使用できることは理解していますが、これが変数を格納するための最良の方法であるかどうか、またはこれを正確に実行する方法がわかりませんでしたか?
質問する
284 次
2 に答える
5
私はシングルトンを使用していますが、その方法は次のとおりです。
新しいクラスを作成します。ここでのデモンストレーションでは、名前を付けますMyDataModel
。MyDataModel.hで、次の手順を実行します。
#import <Foundation/Foundation.h>
@interface MyDataModel : NSObject
{
NSString *myStringVariable;
NSUInteger myIntVariable;
//add any variables you need
}
@property (nonatomic, retain) NSString *myStringVariable;
@property (nonatomic) NSUInteger myIntVariable;
+ (MyDataModel *) sharedInstance;
@end
MyDataModel.mで、次のことを行います。
#import "MyDataModel.h"
@implementation MyDataModel
@synthesize myStringVariable, myIntVariable;
static MyDataModel *_sharedInstance;
+ (MyDataModel *) sharedInstance
{
if(!_sharedInstance)
{
_sharedInstance = [[MyDataModel alloc] init];
}
return _sharedInstance;
}
@end
このシングルトンを使用するクラスでは、#import
このクラスを使用する必要があります。変数の使用方法は次のとおりです。
[MyDataModel sharedInstance].myStringVariable = @"anyThing";
[MyDataModel sharedInstance].myIntVariable = 123;
これがあなたのために物事を明らかにすることを願っています。
于 2012-09-01T20:27:55.140 に答える
0
NSUserDefaults、AppDelegateの変数(推奨されていません)、またはシングルトンを使用できます。私は常にアプリでシングルトンを作成して、あらゆる種類の変数とメソッドを格納しています。
于 2012-09-01T20:41:12.087 に答える