宣言
まず、NSString
アプリデリゲート.h
ファイルでを宣言します。次のようになります。
//YourAppDelegate.h
#import <UIKit/UIKit.h>
@interface YourAppDelegate : NSObject < UIApplicationDelegate >
{
NSString *sharedString; //WE ADDED THIS
}
@property (nonatomic, retain) NSString *sharedString; //AND THIS
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet SomeViewController *viewController;
@end
次に、アクセサーメソッドとミューテーターメソッドが作成されるようにオブジェクトを合成します。setSharedString:
これは、メソッドとメソッドを記述する必要がないことを意味しますgetSharedString
。オブジェクトを参照することで、オブジェクトにアクセスして変更することができます。これは、.m
ファイルでそれを合成する方法です。
//YourAppDelegate.m
@synthesize sharedString;
値の割り当て
sharedString
別のクラスから値を割り当てる場合は、最初にアプリケーションデリゲートのアクティブなインスタンスを取得する必要があります。
YourAppDelegate *appDelegate = (YourAppDelegate*)[[UIApplication sharedApplication] delegate];
ここでのappDelegate
オブジェクトは、実行中のアプリデリゲートインスタンスです。デリゲート内のオブジェクトにアクセスしsharedString
NSString
て値を割り当てるには、次のようにします。
appDelegate.sharedString = @"some string we want to assign";
アプリケーションの実行時間中、「割り当てたい文字列sharedString
」がアプリデリゲートに保存されるようになりました。
値の取得
ある時点で値を取得する必要があります。これを行うには、アプリケーションデリゲートの実行中のインスタンスを取得する必要があります。
YourAppDelegate *appDelegate = (YourAppDelegate*)[[UIApplication sharedApplication] delegate];
実行中のインスタンスができたら、そのsharedString
中に保存されているオブジェクトにアクセスできます。
NSString *retrievedString = appDelegate.sharedString;
この時点からretrievedString
、値「割り当てたい文字列」を保持します。
ノート:
私が言及YourAppDelegate
するすべての場所で、私はあなたのアプリデリゲートを指します-あなたがあなたのプロジェクトに持っているアプリデリゲートです。プロジェクト名に関連付けられます(ファイルを探してください)。