在目标 C 中,我希望从一个 .m 调用一个变量到另一个 .m
这是给定的 myvar 在示例 1.h 中声明为 int
。例子1.m
myvar = myvar+10
例2.m
if (myvar == 10){NSLOG("@myvar equals the correct integer: %i",myvar);}
但是,默认情况下 myvar 将等于 0,因为 myvar 是从 example2.m 中的 example1.h 调用的。
对于全局值,创建一个类来保存这些值并将变量定义为静态变量。 还可以定义类级别方法来操作静态变量。我称我的班级为appState。您可以将 myVar 定义为静态,然后是类方法(使用 + not -)来获取和设置此变量。
下面是一个可以从应用程序中的任何位置访问的 BOOL 示例。
帐户.h
#import <Foundation/Foundation.h>
@interface Account : NSObject
{
}
+(BOOL)isOffLine;
+(void)setOffLine:(BOOL)newValue;
@end
帐户.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];
请注意,我没有创建此类的实例。我正在调用类级别方法。该值将在我的应用程序中不同类的调用之间保留。
我建议你阅读基础知识,也许使用Objective-C进行面向对象编程可能是一个很好的起点。我的猜测是,你真正应该做的是在一个类中创建一个属性并从另一个类访问它。