[英]objective-c variable declaration inside { } vs outside of @interface & @end
请任何人告诉我在头文件中的{}内部和@interface&@end外部声明变量之间有什么区别。 两种方法都能成功编译。
如果您希望变量成为类的一部分(又称实例变量),则在方括号内声明它,否则将其声明为与该类无关的全局变量。
例如
// XYZ.h
@interface XYZ
{
int myinstancevariable;
}
@end
int myglobalvariable;
...
XYZ* a = [[XYZ alloc] init];
NSLog(@"%d", [a myinstancevariable]);
NSLog(@"%d", myglobalvariable );
编辑:忘记了{}
如果您在code block - {}
内声明变量code block - {}
则其作用域(寿命)仅在该code block - {}
内。
如果在@interface
&@ @end
外部声明它,则其作用域在该文件内部。 如果这将是一个头文件,则此变量可以全局使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.