Я создал статическую функцию получения:
@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 «Ожидается») перед «.» лексема». Может кто-нибудь объяснить мне поведение парсера? Я что-то упустил или это ошибка?
Ле Торби