在Objective-C中声明静态变量的正确方法是什么?
发布时间:2020-12-16 05:55:33 所属栏目:百科 来源:网络整理
导读:好的,在C,C,C#和Objective-C之间切换时,仍然重新调整,所以有时我的头旋转.这一次,由于我已经看到至少有三种不同的方法在Objective-C中声明静态变量,所以我更加困惑,如果你认为它只是C本身的超集,那么第四个.那么哪些是正确的? 附加问题 如果我们要共享一个
好的,在C,C,C#和Objective-C之间切换时,仍然重新调整,所以有时我的头旋转.这一次,由于我已经看到至少有三种不同的方法在Objective-C中声明静态变量,所以我更加困惑,如果你认为它只是C本身的超集,那么第四个.那么哪些是正确的?
附加问题 如果我们要共享一个独立变量(即不是一个静态类变量,而是一个刚刚在标题中定义的变量)的方式与“C”(头中的“extern”中的ala)相同 选项A foo.h中 @interface Foo : NSObject{ static int Laa; } @end Foo.m @implementation Foo ... @end 选项B foo.h中 @interface Foo : NSObject{ } @end Foo.m static int Laa; // <-- Outside of the implementation @implementation Foo ... @end 选项C foo.h中 @interface Foo : NSObject{ } @end Foo.m int Laa; // <-- Note no word 'static' here like in 'Option B' @implementation Foo ... @end 选项D foo.h中 static int Laa; @interface Foo : NSObject{ } @end Foo.m @implementation Foo ... @end 选项E foo.h中 @interface Foo : NSObject{ } @end Foo.m @implementation Foo static int Laa; ... @end 奖金问题… 你必须使用这个词extern吗,还是只有当你使用.c / .c文件,而不是.m / .mm文件? 解决方法
选项A是错误的. Objective -c类没有静态varibale. 选项B和E是实现静态变量的正确方法. 选项C创建一个可能使用extern关键字访问执行文件的全局变量. 选项D再次创建一个全局静态变量,只需导入.h文件即可从任何地方访问. 关于你的奖金问题:extern关键字与C/C++中的含义相同.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |