Я пытаюсь получить этот код: http://code.google.com/p/switchcontrol/source/browse/trunk/code/AFSwitchControl.m компилируется под Apple LLVM в Xcode 4.5.2. Он работает при компиляции с LLVM/GCC, но падает в методе mouseDown при переключении на Apple LLVM в строке 198:
NSRect knobRect = _AFSwitchControlKnobRectForInsetBackground(slotRect, _offset);
Потому что _offset не установлен. Предполагается, что это должно быть установлено в методе привязки с помощью этой строки:
[self setOffset:(CGFloat)[self state]];
Но похоже, что в LLVM по какой-то причине ничего не устанавливается. Мой связывающий вызов выглядит так:
[control bind:NSValueBinding toObject:self withKeyPath:@"isToggleSwitchOn" options:nil];
Любые идеи, почему состояние элемента управления ничего не возвращает в LLVM? Спасибо!