"?-6ren"> "?-我刚刚清楚地解释了什么是“->”符号:Dot (".") operator and arrow ("->") operator use in C vs. Objective-C 但我仍然不明白这种表示-6ren">
gpt4 book ai didi

objective-c - 在 Objective-C 中何时/何地应该使用箭头符号 "->"?

转载 作者:太空狗 更新时间:2023-10-30 03:32:50 24 4
gpt4 key购买 nike

我刚刚清楚地解释了什么是“->”符号:Dot (".") operator and arrow ("->") operator use in C vs. Objective-C

但我仍然不明白这种表示法在 Objective-C 中的真正用例是什么?

这是我所说的例子:https://github.com/gnustep/gnustep-base/blob/master/Source/NSOperation.m - 为什么所有这些字符串如 internal->lock 都写在那里 - 为什么不只使用 ivars 或点符号?


相关主题:Performance of object_setClass() instead of assigning isa pointer .

最佳答案

从你的问题来看,不清楚你是否理解 -> 运算符的作用。

GNUStep NSOperation 源代码中的那个例子使用了一个ivar。这就是 -> 运算符所做的事情 — 它取消引用指针并访问命名成员。

至于“为什么不使用点符号?”显而易见的答案是他们不想通过访问器。通过访问器比直接访问要慢,并且在我们只处理“哑巴”内部状态的这种情况下没有真正的好处。

那么什么时候应该在 Objective-C 代码中使用它呢?主要是当您通过指针访问结构时。很少需要直接访问另一个对象的实例变量。如果您这样做,则该代码是异常(exception),而不是规则。

关于objective-c - 在 Objective-C 中何时/何地应该使用箭头符号 "->"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439623/

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