gpt4 book ai didi

objective-c - 我们可以用 C 风格的语法编写 Objective-C 代码吗?

转载 作者:可可西里 更新时间:2023-11-01 06:23:43 25 4
gpt4 key购买 nike

我对在 Objective-C 项目中找到 C 风格的语法有点困惑(例如,下面的语法不是 Objective-C 中定义方法的方式,由本书)。我很清楚这是有效的,因为我编译的代码没有错误 - 但我不确定如何以及为什么,这段代码是常规的 Objective-C .h,.m 文件。有人可以解释一下这是如何适应的吗?

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
//use of round brackets

void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor,
CGColorRef endColor);
// C style syntax for passing params

此外,这是非常具体的围绕我目前所见的 Core Graphics 代码,是否允许编写像这样的常规 Objective-C 方法,或者只允许使用 CG 代码的文件...?

最佳答案

Objective-C 只是 C 的超集,与 C++ 相同。 (两者最初都是作为将代码转换为直接 C 代码的预处理器实现的。)Objective-C 方法调用被转换为对 C 函数 objc_msgSend()(及其变体)的调用,并且可以(尽管乏味)直接调用它。

这里详细说明了血淋淋的细节:

https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

关于objective-c - 我们可以用 C 风格的语法编写 Objective-C 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9528246/

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