アプリのデリゲートでインスタンス変数を fbid しました NSUSERDEFAULT を使用せずに、アプリケーション全体のすべてのクラスで使用したいです。extern データ型を使用したいのですが、extern 変数の宣言方法と使用方法がわかりません。ヘルプ ?
3 に答える
でプロパティ変数を宣言できますApplication Delegate
。
その変数にどこからでもアクセスできるよりも
//To set value
AppDelegate *yourAppdelegate = (AppDelegate *)[[UIApplication] sharedApplication]delegate];
yourAppdelegate.yourStringVariable = @"";
//To get value
AppDelegate *yourAppdelegate = (AppDelegate *)[[UIApplication] sharedApplication]delegate];
NSString *accessValue = yourAppdelegate.yourStringVariable;
編集
あなたが持っているとしましょうMyViewController
//ヘッダーファイル
@interface MyViewController : UIViewController
{
NSString *classLevelProperty;
}
@property (nonatomic, retain) NSString *classLevelProperty;
@end
//実装ファイル
@implementation MyViewController
@synthesize classLevelProperty;
-(void)viewDidLoad
{
AppDelegate *yourAppdelegate = (AppDelegate *)[[UIApplication] sharedApplication]delegate];
classLevelProperty = yourAppdelegate.yourStringVariable;
//Here above classLevelProperty is available through out the class.
}
@end
これは、任意のビュー コントローラーで実行でき、yourStringVariable のそのプロパティ値は、上記のコードのように、任意のビュー コントローラーまたはその他のクラスで使用できます。
これがクリアされることを願っています。それでも正しく取得できない場合は、コメントを残してください。
最初のビューでプロパティを実装し、2 番目のビューから設定します。
これには、2 番目のビューが最初のビューへの参照を持っている必要があります。
例:
FirstView.h
@interface FirstView : UIView
{
NSString *data;
}
@property (nonatomic,copy) NSString *data;
@end
FirstView.m
@implementation FirstView
// implement standard retain getter/setter for data:
@synthesize data;
@end
SecondView.m
@implementation SecondView
- (void)someMethod
{
// if "myFirstView" is a reference to a FirstView object, then
// access its "data" object like this:
NSString *firstViewData = myFirstView.data;
}
@end
extern
キーワードの使用方法を知りたい場合は、これが使用方法です。 値を割り当てるファイルviewController.h
またはviewController.m
上記のファイルで変数を宣言しました。@interface
viewController.h
このように-
#import <UIKit/UIKit.h>
int value = 5;
@interface ViewController : UIViewController{
}
viewController.m
また、上記の宣言で宣言することもできます@implementation
#import "ViewController.h"
int value = 5;
@implementation ViewController
@end
次にextern
、この変数を取得するクラスのキーワードを使用します。secondViewController.h
#import <UIKit/UIKit.h>
@interface SecondviewController : UIViewController{
}
extern int value;
@end
が含まれsecondViewController.m
ていることがわかります。value
5
extern
キーワード の詳細については、 extern を使用してリンケージを指定するを参照してください。