在scope外进行静态变量声明,
static const CGRect CouponListViewRect = CGRectMake(0.0,0.0,0.0,0.0);
报错:
Initializer element is not a compile-time constant
原理:
github上的回答:
42 down vote
|
When you define a variable outside the scope of a function, that variable's value is actually written into your executable file. This means you can only use a constant value. Since you don't know everything about the runtime environment at compile time (which classes are available, what is their structure, etc.), you cannot create objective c objects until runtime, with the exception of constant strings, which are given a specific structure and guaranteed to stay that way. What you should do is initialize the variable to nil and use Example:
|