我在appdelegate中声明了变量NSString productname
,并从视图中指定了值appdelegate.productname = name
。然后我尝试从另一个view.lbl.text=appdelegate.productname
获取此值。这是错的吗?
答案 0 :(得分: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"
在你的viewcontroller中。
谢谢!
答案 1 :(得分:0)
您可以使用以下代码获取它:
UIApplicationDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSString *productName = appDelegate.productname;
答案 2 :(得分:0)
UIApplicationDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSString * str = appDelegate.yourstr;