-1

アプリのデリゲートでインスタンス変数を fbid しました NSUSERDEFAULT を使用せずに、アプリケーション全体のすべてのクラスで使用したいです。extern データ型を使用したいのですが、extern 変数の宣言方法と使用方法がわかりません。ヘルプ ?

4

3 に答える 3

2

でプロパティ変数を宣言できます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 のそのプロパティ値は、上記のコードのように、任意のビュー コントローラーまたはその他のクラスで使用できます。

これがクリアされることを願っています。それでも正しく取得できない場合は、コメントを残してください。

于 2012-10-10T05:27:13.407 に答える
0

最初のビューでプロパティを実装し、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
于 2012-10-10T05:26:31.187 に答える
0

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ていることがわかります。value5

extern キーワード の詳細については、 extern を使用してリンケージを指定するを参照してください。

于 2012-10-10T05:29:51.367 に答える