Вы можете попробовать добавить эту ссылку непосредственно в AppDelegate, чтобы сделать ее похожей на fake global var.
т.е.:
в интерфейсе AppDelegate:
Brain *cerebro;
@property (nonatomic, retain) Brain *cerebro;
И в любом месте кода:
[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] cerebro]
должно работать хорошо ...
Если вы используете много раз, и только один Brain
подумает о реализации singleton
Если вы используете много Brain
, это может быть хорошей идеей для реализациисинглтон BrainManager
, который вы можете использовать следующим образом:
Brain *cerebro = [[Brain alloc] init...]
[[BrainManager sharedManager] addBrain:cerebro withIdentifier:@"cerebro"];
и где-то еще:
[SomeThing DoTaskWithBrain:[[BrainManager sharedManager] brainWithIdentifier:@"cerebro"]];