iphone - 为此编写宏 : (Objective-C)

标签 iphone c objective-c macros

我有一个这样的方法:

- (CGPoint) _convertCGPointCT2UIKit:(CGPoint)ctPoint{
 CGPoint uikitPoint = CGPointMake(ctPoint.x + INITIAL_HORIZ_OFFSET, 
          self.bounds.size.height - ctPoint.y - INITIAL_VERT_OFFSET);
 return uikitPoint;
}

有什么办法可以让它成为一个宏吗? 我尝试了这个,但出现了诸如“;预期之前)”之类的错误。

#define CGPointUIKit2CT(p) CGPointMake(p.x - INITIAL_HORIZ_OFFSET, self.bounds.size.height - p.y - INITIAL_VERT_OFFSET);

提前致谢。

伊格纳西奥

最佳答案

一些指导您的经验法则:

  • 所有内容括在括号内
  • 不要以分号结束宏,这可能会导致错误。而是在使用分号时将其放入代码中。

这是我的回答:

 #define CGPointUIKit2CT(p) CGPointMake(((p).x) - INITIAL_HORIZ_OFFSET, self.bounds.size.height - ((p).y) - INITIAL_VERT_OFFSET)

关于iphone - 为此编写宏 : (Objective-C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257767/

相关文章:

iphone - 如何创建自动启动 iTunes 的 App Store 链接?

ios - Collection View 在滚动时更改选定的单元格

java - 如何只调用 C 文件函数的返回值到 Java(Java native 接口(interface))

java - 让 JNA 在 Java 1.4 下工作

objective-c - XCode 4 - 创建 AppController 标准?

ios - 按字符串删除所有重音

iPhone iOS UIFont 转换为 CTFontRef 导致尺寸未对齐

iphone - Apple mach-o 链接器错误 ("alignment lost")

iPhone iOS 如何在删除实体时删除从 Core Data 实体嵌套关系引用的本地文件?

c - 顶点属性除数不适用于实例渲染