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 回答