加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

这是什么类的Objective-C变量?

发布时间:2020-12-16 10:15:37 所属栏目:百科 来源:网络整理
导读:我正在通过一些我没有编写的Objective-C代码,并找到了一个我不熟悉的变量声明样式.谁能告诉我下面的类实现中变量’myVar’的范围?请注意,它出现在’.m’文件中,而不是接口声明中. @implementation MyClass@synthesize ivar1,ivar2;NSString* myVar; // - Wh
我正在通过一些我没有编写的Objective-C代码,并找到了一个我不熟悉的变量声明样式.谁能告诉我下面的类实现中变量’myVar’的范围?请注意,它出现在’.m’文件中,而不是接口声明中.

@implementation MyClass
@synthesize ivar1,ivar2;

NSString* myVar; // <- What is the intent?

- (id)init {

...

@end

对我来说,意图似乎与成员变量的意图类似.以这种方式声明变量而不是在@interface声明中使用ivar有什么好处?

解决方法

它只是一个普通的旧全局变量.它只有一个实例,它可以被同一文件转换单元中的任何代码访问(运行预处理器后得到的最终文件).其他翻译单元(即其他.m文件)也可以访问该全局变量,但为了这样做,他们需要使用extern语句:

extern NSString *myVar;

extern说“这是全局变量的名称,但它是在不同的翻译单元中定义的”.链接器在链接时解析所有extern声明.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读