gpt4 book ai didi

objective-c - 有没有一种方法可以在没有 @selector 语法的情况下指定选择器/@selector 在幕后发生了什么

转载 作者:行者123 更新时间:2023-11-28 18:42:01 25 4
gpt4 key购买 nike

@selector 是某种较长的 C 语法的便利语法,还是 Objective-C 语言/编译器的“硬连线”部分?例如,我知道当我调用 @property 时,根据参数,会“生成”不同的等效 Objective-C 代码 re:getter 和 setter。 @selector 的幕后发生了什么?它是否指定了 Objective-C 消息?

最佳答案

@selector() 是语言的一部分。它指定文字 SEL 就像 @"" 指定文字 NSString 一样。

值得理解的是,@selector 代表一个选择器,而不是一条消息。选择器只是一个名字。这只是消息的一小部分。它甚至不携带类型信息。

另请注意,@property 不会生成任何内容。它只是 promise 对象将响应一个或两个选择器(getter 和 setter)。有几种方法可以履行该契约(Contract)。 @synthesize 只是其中之一。您还可以手动实现所需的方法,或使用 @dynamic 来保证它将在运行时以某种方式处理。

关于objective-c - 有没有一种方法可以在没有 @selector 语法的情况下指定选择器/@selector 在幕后发生了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983062/

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