超基本なことかとは思いますが、復習も兼ねて。

AppDelegateに変数をおいておくとどのクラスからもアクセスしやすくて便利ですよね。

以下方法です。

他のクラスからもアクセスして使用したい値を例えばint型のvalueとすると、

HogeAppDelegate.h

@interface HogeAppDelegate : NSObject {
int value;
}
@property (nonatomic, assign) int value;

HogeAppDelegate.m

#import "ChozaiCalc2AppDelegate.h"

#import "HogeAppDelegate.h" //tokumeiさんのご指摘により修正。
@synthesize value;

としておく。

そしてvalueにアクセスしたいクラスの.hファイルで

#import "ChozaiCalc2AppDelegate.h"

#import "HogeAppDelegate.h" //tokumeiさんのご指摘により修正。

としてから.mファイルに

HogeAppDelegate *appDelegate = (HogeAppDelegate *)[[UIApplication sharedApplication] delegate];
self.value2 = appDelegate.valule;

とすることでvalue2にvalueの値を入れることができます。

実は数時間悩んでたんです。
ああースッキリした。
基礎をもう一度勉強しないとダメですねー。

■2012年2月追記

この方法ではValueを作っては取り込んで作っては取り込んで、となり、ソースコードが煩雑になってしまいます。

そこで、アプリの規模にもよりますが、AppDelegateにNSMutableDictionaryを作成して値を共有するのが楽ちんです。

詳しくはTeamMosa2さんの「iOSゆとりプログラミングのススメ | 仕事人の開発日誌 」を参考にしてみては如何でしょうか。
[ad#Adsense_blog.guttyo.jp_Post_bottom]

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事