Project Unknown's Blog

Peojct.Unknownと言う名前で細々とアプリ開発をやってるメンバーのブログです。

各種ViewControllerなどからAppDelegateのプロパティにアクセスする。

ゆう@あんのうんです。 新年あけました。おめでとうございます! 今年は、いままでやろうやろうとしていてできなかった、個人Appの開発&リリース&(副収入ヽ(=´▽`=)ノ)を目指して頑張っていこうと思います! 皆様、心温かく見守って行ってくださればと思いますmm


さて、今回のお題は、標題の通り、AppDelegateのプロパティにアクセスするです。 簡単過ぎるだろ…と思ったのですが、丁度今開発していて、ど忘れしたので、備忘録がてら記載。

AppDelegateに他で共有したいプロパティを用意する。

例えば、AppDelegate.hに以下を用意するとします。

// AppDelegate.h

@property (strong, nonatomic) NSString *hoge;

別なクラスでAppDelegateにアクセスする。

例えば、FugaUIViewController.mからアクセスします。

// FugaUIViewController.m

#import "AppDelegate.h"

@interface FugaUIViewController ()

@end

@implementation FugaUIViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *hoge = [(AppDelegate*)[[UIApplication sharedApplication] delegate] hoge];
}

@end

まぁ、AppDelegateはあくまでAppのセッティングを行う所で、こういった感じでオブジェクトを持つことはあまりよろしくないと思いますが、 起動時に、重いオブジェクトをつくって、それを使いまわす際に使えそうかなーと。

でわでわ。