Определенные пользователем атрибуты времени выполнения XCode не работают - PullRequest
2 голосов
/ 12 января 2012

Судя по сообщениям, которые я нашел, похоже, что это должно работать, но я не могу получить свой атрибут времени выполнения.Я разрабатываю для OSX 10.7 с использованием Xcode 4.2.1.Вот настройка в IB:

enter image description here

Вот мой код:

#import "BILAugmentedScrollView.h"

@implementation BILAugmentedScrollView {

    BOOL _ignoreScrollWheel;
}

@synthesize ignoreScrollWheel = _ignoreScrollWheel;


- (void)scrollWheel:(NSEvent *)theEvent {

    NSLog(@"scroll ignore = %@", [NSNumber numberWithBool:self.ignoreScrollWheel]);

    if (self.ignoreScrollWheel)
        [self.nextResponder scrollWheel:theEvent];
    else
        [super scrollWheel:theEvent];
}

Однако мой вывод такой: [7411: 707] scrollignore = 0

Есть идеи?Спасибо

Ответы [ 2 ]

2 голосов
/ 14 ноября 2012

Я читал где-то еще, что атрибуты не работают при использовании пользовательской реализации initWithCoder.

(Также, спасибо за использование трехбуквенных префиксов «пространства имен», как у Appleмолча) предложил сделать. Я немного обеспокоен тем, что старожилы Какао особенно игнорируют это правило и продолжают использовать только 2 буквы.)

0 голосов
/ 13 января 2012

После некоторых экспериментов проблема, по-видимому, связана с тем, что этот объект («BILAugmentedScrollView») используется в NSCollectionView: когда он стоит отдельно, изменение атрибута в IB работает просто отлично. Я не знаю, почему возникает проблема, так как каждый экземпляр объекта загружается из пера представлением коллекции, но это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...