1

appdelegate で変数NSString productnameを宣言し、ビューから値を割り当てました。次にappdelegate.productname = name、この値を別の から取得しようとしましたview.lbl.text=appdelegate.productname。これは間違っていますか?

4

3 に答える 3

2

appdelegate.h ファイルで変数を宣言できます。これらの変数はグローバルなので、それらを呼び出すために appdelegate オブジェクトを作成する必要はありません。

このような -

#import <UIKit/UIKit.h>

@class ViewController;

// these are your variable, both are global. 
int anyNumber; 
NSString *productname;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;
@property (strong, nonatomic) UINavigationController *naviCon;

@end

これで、これらの変数を使用したい場所で使用できるようになりました。

appdelegate.h をインポートして自由に使用してください。

#import "ViewController.h"
#import "AppDelegate.h"

これは、値を appdelegate 文字列に割り当てている場所からの最初のビューです。

productname = name; //you can assign it directly, no need to make any object of appdelegate.

どこでも使えるようになりました。ただし、インポートする必要があることを少し覚えておいてください

#import "AppDelegate.h"

ビューコントローラーで。

ありがとうございました!

于 2012-05-24T12:30:54.557 に答える
0

次のコードで取得できます。

UIApplicationDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSString *productName = appDelegate.productname;
于 2012-05-24T12:03:49.653 に答える
0
UIApplicationDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSString * str = appDelegate.yourstr;
于 2012-05-24T12:29:51.533 に答える