gpt4 book ai didi

objective-c - cocoa objective-c类中变量前面的下划线如何工作?

转载 作者:IT老高 更新时间:2023-10-28 12:17:11 25 4
gpt4 key购买 nike

我在一些 iPhone 示例中看到属性在变量前面使用了下划线 _。有谁知道这意味着什么?或者它是如何工作的?

我正在使用的接口(interface)文件如下所示:

@interface MissionCell : UITableViewCell {
Mission *_mission;
UILabel *_missionName;
}

@property (nonatomic, retain) UILabel *missionName;

- (Mission *)mission;

我不确定上面到底做了什么,但是当我尝试将任务名称设置为:

aMission.missionName = missionName;

我得到错误:

request for member 'missionName' in something not a structure or union

最佳答案

如果您为您的 ivars 使用下划线前缀(这只不过是一种常见的约定,但一种有用的约定),那么您需要做 1 件额外的事情,以便自动生成的访问器(用于属性)知道哪个 ivar使用。具体来说,在您的实现文件中,您的 synthesize 应该如下所示:

@synthesize missionName = _missionName;

更一般地说,这是:

@synthesize propertyName = _ivarName;

关于objective-c - cocoa objective-c类中变量前面的下划线如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com