我在我的应用程序委托中有一个实例变量,我想在整个应用程序的每个类中使用它而不使用 NSUSERDEFAULT .我想使用 extern 数据类型,但我没有得到任何东西 如何声明 extern 变量以及如何使用请帮助?
您可以在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
这可以在任何视图控制器中完成,并且您的 StringVariable 的属性值可用于任何视图控制器或任何其他类,如上面的代码所示。
希望这能清除。如果仍然无法正确获取,请发表评论。
在第一个视图上实现一个属性,并从第二个视图设置它。
这要求第二个视图具有对第一个视图的引用。
例:
第一视图
@interface FirstView : UIView
{
NSString *data;
}
@property (nonatomic,copy) NSString *data;
@end
第一视图
@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
<</div>
div class="one_answers"> 好吧,如果您想知道如何使用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 指定链接