在objective-c中,我可以在int
文件中声明bool
或.m
等,在之外的任何函数。这允许我在课堂上的任何地方使用这样的变量。
我还可以在接口块内的.h
文件中声明这些变量,从而获得相同的结果。
嗯,我的问题是:有什么区别?在那儿?或者这完全是组织问题?
答案 0 :(得分:3)
在第二种情况下,它是一个具有外部链接的全局变量。这意味着,可以使用extern
关键字访问其他翻译单元/源文件。但在第一种情况下,它是接口的一部分,因此它只能由它的成员函数和从该接口派生的任何其他接口使用,具体取决于访问说明符。
答案 1 :(得分:2)
在第一种情况下,它们成为.m文件中的gloabal变量,并在接口的所有实例之间共享。在第二种情况下,对于多个实例将是分开的。常见的方法是在接口
中声明接口变量