objective-c – 如何在NSColor和UIColor之间自动选择正确的构建系统? (使用#define,或其他东西)

objective-c – 如何在NSColor和UIColor之间自动选择正确的构建系统? (使用#define,或其他东西),第1张

概述我正在尝试创建一个NSObject子类,它将有很多返回颜色的方法,所以如果我正在为iOS或NSColor构建,如果我正在为OS X构建,我想返回UIColor. 这是预期行为应该是什么的伪代码: #define COLOR #if TARGET_OS_IPHONE UIColor #elif TARGET_OS_MAC NSColor #endif+ (COLOR *)makeMeColorf 我正在尝试创建一个NSObject子类,它将有很多返回颜色的方法,所以如果我正在为iOS或NScolor构建,如果我正在为OS X构建,我想返回UIcolor.
这是预期行为应该是什么的伪代码:

#define color #if TARGET_OS_IPHONE UIcolor #elif TARGET_OS_MAC NScolor #endif+ (color *)makeMecolorful;

是否有可能做这样的事情,而不是为我的每个对象的方法(一个用于iOS,另一个用于OS X)制作两个方法?

解决方法 这绝对可行.例如,来自SpriteKit的SKcolor定义如下:

#if TARGET_OS_IPHONE#define SKcolor UIcolor#else#define SKcolor NScolor#endif

然后像这样使用:

SKcolor *color = [SKcolor colorWithHue:0.5 saturation:1.0 brightness:1.0 Alpha:1.0];

这简单地利用了UIcolor和NScolor共享其一些类方法的事实.

总结

以上是内存溢出为你收集整理的objective-c – 如何在NSColor和UIColor之间自动选择正确的构建系统? (使用#define,或其他东西)全部内容,希望文章能够帮你解决objective-c – 如何在NSColor和UIColor之间自动选择正确的构建系统? (使用#define,或其他东西)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1025521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存