gpt4 book ai didi

Objective-C 综合属性名称覆盖

转载 作者:太空狗 更新时间:2023-10-30 03:16:59 25 4
gpt4 key购买 nike

我试图理解带有属性名称覆盖的 synthesize 指令的目的。假设我有一个定义如下的接口(interface):

@interface Dummy ... {
UILabel *_dummyLabel;
}

@property (retain, nonatomic) UILabel *dummyLabel;

在实现文件中,我有:

@synthesize dummyLabel = _dummyLabel;

据我了解,“dummyLabel”只是实例变量“_dummyLabel”的别名。 self._dummyLabel 和 self.dummyLabel 有区别吗?

最佳答案

是的。 self._dummyLabel 是未定义的,但是 _dummyLabel 不是。

点语法扩展为简单的方法调用,因此它不特定于属性。如果你有一个名为 -(id)someObject 的方法,例如在 object.someObject 的情况下,就好像你写了 [object someObject] ;

self.dummyLabel  //works
self._dummyLabel //does not work
dummyLabel //does not work
_dummyLabel //works
[self dummyLabel]; //works
[self _dummyLabel]; //does not work

关于Objective-C 综合属性名称覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3802851/

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