2011-12-13 2 views
2

В моем mac os x app, I подкласс NSApplication и переопределить его метод -sendEvent:. Apple, жалуется:Не разрешено ли переопределять -sendEvent: в подклассе NSApplication?

Приложение включает в себя 'OBJC_IVAR _ $ _ NSApplication._delegate' из рамок '/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit'.

Что я могу сделать по этому поводу? Что я делаю не так?

+0

Вы можете оставить код? Сообщения об ошибках нелегко расшифровать без какого-либо контекста ... –

+0

Нет контекста ... Вышеприведенная «ошибка» является жалобой команды поддержки Apple. Они обвиняют меня в использовании частного API, что неверно ... – Fatso

+1

@Korion: Нет. Группа поддержки Apple не пишет ваши сообщения каждый раз, когда вы делаете сборку. Сообщение от компилятора, и оно не имеет ничего общего с вашим переопределением 'sendEvent:' (обратите внимание, что 'sendEvent:' даже не упоминается в нем). –

ответ

7

Вы обращаетесь делегат приложения, непосредственно обращаясь к _delegate Ивар, как это:

NSLog(@"my delegate = %p", _delegate); 

Вы должны использовать метод delegate аксессора, как это:

NSLog(@"my delegate = %p", self.delegate); 
+0

Ничего себе, отличный ответ! Я хотел добавить код, но вы получили ответ: D. – Fatso

Смежные вопросы