我想在Obj-C中做这样的事情。例如:
extern float TRANSITION_TIME = 0.5f;
甚至更好:
static float TRANSITION_TIME = 0.5f;
然后它会自动导入标题!
但是,两者都会发出某种警告:'extern' variable has an initializer
答案 0 :(得分:0)
答案 1 :(得分:0)
你可以很容易地做到这一点:
#import <Cocoa/Cocoa.h>
static float TRANSITION_TIME = 0.5f;
@interface ClassName : NSObject
...// rest of codes goes here
@end
答案 2 :(得分:0)
我假设您希望定义一个单个变量TRANSITION_TIME
,该变量可在多个位置访问并定义&amp;在一个地方初始化。
这里有一个函数或方法的并行 - 你在.h
文件中放置一个函数或方法的声明,该文件包含在多个位置;并在.m
(或.c
等)文件中定义函数/方法,即在一个位置给它一个值。
要定义变量,请遵循相同的模式。在.h
文件中,您声明了您的变量:
extern float TRANSITION_TIME;
你需要使用extern
来表明这是一个声明在别处定义的变量[*]。然后在.m
文件中提供定义:
float TRANSITION_TIME = 0.5f;
[*]对于.h
中的函数/方法声明,缺少一个正文就足以表明函数/方法在别处被定义,并假设extern
。但是对于函数,您还可以在声明开头包含extern
(方法的语法不支持此冗余)。