[英]Objective-C parser problems with and static getter-function
我创建了一个静态的getter函数:
@implementation MyClass
static int aValue = 1;
+ (int) aValue { return aValue; }
// other stuff here
@end
现在我正尝试通过另一种方法以不同的方式访问它:
@implementation AnotherClass
- (void) aMethod {
if (MyClass.aValue > 0) { NSLog(@"Foobar"); } // No parser error
if ((MyClass.aValue > 0)) { NSLog(@"Foobar"); } // My parser doesn't like that
if (([MyClass aValue] > 0)) { NSLog(@"Foobar"); } // This is ok again
if ((0|MyClass.aValue > 0)) { NSLog(@"Foobar"); } // Gives a warning, but works
}
// other stuff here
@end
如您所见,解析器似乎在嵌套布尔表达式中使用静态方法时遇到问题,如果您要使用&&,||,这是很不幸的。 和类似的条款。
完整的Xcode错误消息是“。”之前的“ Expected')”。 令牌”。 有人可以向我解释解析器的行为吗? 我错过了重要的东西还是这是一个错误?
勒·托比
使用@property关键字声明的属性仅在实例中具有含义。
没有类属性。
您可以创建一个getter方法,但不能在类中使用点分语法。
始终使用方法调用: [ MyClass myValue ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.