もう1つのオプションは、シングルトンオブジェクトを使用することです。これは、共有する変数が複数ある場合に特に便利です。
シングルトンを正しく行うことについての良い投稿があります:http://lukeredpath.co.uk/blog/a-note-on-objective-c-singletons.html
基本的に、次のような非常に単純なクラスを作成する必要があります。
State.h:
@interface State : NSObject
@property (atomic, strong) NSMutableString *mystring;
+ (id)sharedInstance;
@end
State.m:
#import "State.h"
@implementation State
@synthesize mystring;
+ (id)sharedInstance
{
static dispatch_once_t pred = 0;
__strong static id _sharedObject = nil;
dispatch_once(&pred, ^{
_sharedObject = [[self alloc] init]; // or some other init method
});
return _sharedObject;
}
@end
そして、あなたがそれを必要とするときはいつでもあなたはそれをすることができます:
import "State.h"
[State sharedInstance].mystring
さらに簡単に、ここからシングルトンマクロを使用できます:https ://gist.github.com/1057420#gistcomment-63896
私は個人的にこのパターンが非常に役立つことを発見しました。