如何在objective-C中定义非字符串常量?

Bur*_*jua 1 iphone constants objective-c

我可以像这样定义全局字符串:

// .h
extern NSString * const myString;

// .m
NSString * const myString = @"String";
Run Code Online (Sandbox Code Playgroud)

现在我需要类似地定义UIcolor,我该怎么做?

我尝试着:

// .h
extern UIColor * const myColor;

// .m
UIColor * const myColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
Run Code Online (Sandbox Code Playgroud)

但它没有用,我得到了 error: initializer element is not constant

谢谢

Fer*_*cio 5

您不能使用方法调用(或任何不是编译时常量的表达式)初始化全局变量.它适用于您的@"String"示例,因为它是一个常量表达式.不需要调用代码来评估它.