将变量从一个文件调用到另一个文件

时间:2011-05-14 02:23:09

标签: objective-c variables global-variables call

在目标C中,我希望将一个变量从一个.m调用到另一个.m

这是在Example1.h中将myvar声明为int

Example1.m

myvar = myvar+10

Example2.m

if (myvar == 10){NSLOG("@myvar equals the correct integer: %i",myvar);}

但是,默认情况下myvar将等于0,因为在Example2.m中从Example1.h调用了myvar。

2 个答案:

答案 0 :(得分:1)

对于全局值,创建一个类来保存它们并将变量定义为static。您还可以定义类级方法来操作静态变量。我叫我的appState类。您可以将myVar定义为static,然后将类方法(使用+ not - )定义为获取并设置此变量。

以下是我可以从应用程序中的任何位置访问的BOOL示例。

account.h

#import <Foundation/Foundation.h>

@interface Account : NSObject 
{
}

+(BOOL)isOffLine;
+(void)setOffLine:(BOOL)newValue;

@end

account.m

#import "Account.h"

@implementation Account

static BOOL _offline;

+(BOOL)isOffLine;
{
    return _offline;
}

+(void)setOffLine:(BOOL)newValue
{
    _offline = newValue;
}

@end

现在,从我的应用程序中的任何类,我都可以#import account.h然后使用类似的东西:

if ([Account isOffLine]) {...}

[Account setOffLine:YES];

请注意,我没有创建此类的实例。我正在调用类级方法。该值将在我的应用程序中来自不同类的调用之间保持不变。

答案 1 :(得分:1)

我建议您阅读基础知识,或许Object-Oriented Programming with Objective-C可能是一个很好的起点。我的猜测是你应该做的是在一个类中创建一个property并从另一个类中访问它。