iOS:如何定义一些在任何地方都可以使用的默认对象?

标签 ios

我的应用程序中有很多地方需要设置 UIColor。我想在某个地方定义颜色,这样我就可以重复使用它而无需再次编写同一行,这很难跟踪和维护。

UIColor *myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];

我试着让它像

#define myColor = [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];

并重用 myColor 但它不起作用。 :/

谢谢!

最佳答案

对于你的定义,你可以这样写:

#define myColor [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1]

在您使用 myColor 的地方,它将被完全替换为 [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1]

或者,您可以在 UIColor 上编写一个类别,它提供返回颜色的方法。

例子:

@interface UIColor (MyColors)

+ (UIColor *)myAwesomeColor;

@end

@implementation UIColor (MyColors)

+ (UIColor *)myAwesomeColor
{
    return [UIColor colorWithRed:0.1 green:0.3 blue:0.7 alpha:1];
}

@end

然后您可以像 [UIColor myAwesomeColor] 一样在任何需要的地方使用它,就像您使用 [UIColor blackColor] 一样。

关于iOS:如何定义一些在任何地方都可以使用的默认对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339494/

相关文章:

ios - ios中推送通知的服务器端问题

objective-c - AFHTTPClient - 解析响应对象

iOS - 如何按顺序执行两个转换?

ios - 流打开后如何将 NSStream (NSInputStream/NSOutputStream) 转换为 SSL?

ios - RxSwift Disposable property isDisposed always false or Disposable closure newer called to cancel worker task

ios - AvAudioRecorder 在录音刚开始后停止/重启

ios - 离线 Fairplay AVAssetDownloadTask 在下载时收到未知错误回调(仅发生在 iOS 10.2 上)

IOS7 状态栏在选定 Controller 上隐藏/显示

ios - 我应该在 Swift iOS 应用程序中使用 UIImage 还是 CGImage?

ios - iOS 6/7 中的 "no index path for table cell being reused"消息是什么意思?