【Xcode】AppDelegateで変数を他の画面に渡す

Xcode の AppDelegate は中央センターの役割をするので、AppDelegate 内で作った変数はどのクラスからもアクセスできる。

以下は AppDelegate の設定の手順。Single View Application でつくったものとする。

1.AppDelegate.h に全てのクラスから参照できる変数を設定する

//AppDelegate.h 内に記述
—————————————–
//全てのクラスから参照できる変数
@property (nonatmic, weak) NSString *shareString;
—————————————–

2.ViewController.h から AppDelegate.h をインポートする

//ViewController.h 内に記述
—————————————–
//インポート
#import “AppDelegate.h”
—————————————–

3.ViewController から AppDelegate 内の変数を参照する

//ViewController.m 内の viewDidLoad に記述
—————————————–
// AppDelegateのオブジェクトを取得する
AppDelegate *AD = (AppDelegate *)[[UIApplication sharedApplication] delegate];

//変数に文字列を代入する
AD.shareString = @”代入する文字列”;
—————————————–

ラベルに表示したい場合

//ViewController.m 内の interface に記述
—————————————–
//変数 myString を宣言する
NSString myString
—————————————–

つづいて、

//ViewController.m 内の viewDidLoad に記述
—————————————–
//変数に文字列を代入する
AD.shareString = @”表示したい文字列”;

myString = AD.shareString;

//ラベル(myLabelと命名)に表示
[self.myLabel setText:myString];
—————————————–

タイトルとURLをコピーしました