gpt4 book ai didi

java - objective-c 中的点符号

转载 作者:行者123 更新时间:2023-11-29 06:39:06 25 4
gpt4 key购买 nike

我有一个 Java 程序,我正在将其转换为 objective-c。

在 Java 中,我使用点符号,例如有以下代码行:

this.m_root.computeGlobalTransforms();

它调用一个名为 computeGlobalTransforms() 的方法。

我是否可以在 objective-c 中使用这样的点符号,或者我是否需要将行写为并将“m_root”作为对象传递:

[self computeGlobalTransforms:m_root];

最佳答案

如果computeGlobalTransforms是类 m_root 的实例方法对象,如果 m_rootself 的类属性,则语法为:

[self.m_root computeGlobalTransforms]. 

我建议您引用 Methods and MessagingLearning Objective-C: A Primer 中。


如果computeGlobalTransformsVA_Bone方法,语法为:

VA_Bone *bone = [[VA_Bone alloc] init];
[bone computeGlobalTransforms];

你的 bone变量是一个简单的局部变量,因此没有引用 self.m_root是需要的。


顺便说一下,按照惯例,变量名和类名中间的下划线一般是不用的。参见 Naming Properties and Data TypesCocoa 编码指南中。 另请参阅 Conventions 中对“驼峰式大小写”的引用。 使用 Objective-C 编程。

因此,更常见的命名约定是 VABone为你的类(class)。同样对于您的原始 m_root你提到的属性(property),你会(a)给它一个更具描述性的名称;和(b)使用 Camel 案例。现在我不知道 m_root 的“m”是什么应该代表(单独说明问题),但假设它是中等尺寸的图像,那么它可能是 mediumSizedImagesRoot ,或其他。

关于java - objective-c 中的点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15093973/

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