2010-03-04 1 views
3

AppKit позволяет программам Python на Mac использовать классы ObjectiveC. Я не очень хорошо знаком с ObjectiveC, но хочу получить доступ к классу NSSound с помощью AppKit, чтобы создать аудиоплеер.Python AppKit и ObjectiveC делегаты

Мой плеер должен выполнить некоторые действия, такие как загрузка следующего элемента из списка воспроизведения, когда текущий звук заканчивается. Существует метод с именем sound: didFinishPlaying :, который вызывается в тот момент, я полагаю. Согласно документации, должен быть установлен делегат, который получает этот вызов метода.

Может ли кто-нибудь помочь мне перевести это на Python/AppKit? Как я могу реализовать делегат в Python и позволить ему получать уведомление didFinishPlaying?

ответ

4

Первым шагом к успешной разработке приложения на основе Cocoa/AppKit на основе PyObjC является изучение Objective-C, а затем изучение Cocoa.

Второй шаг - отбросить Python и просто использовать Objective-C для вашего приложения.

PyObjC (и MacRuby) - это отличные технологии, но успех в обоих требует, чтобы вы поняли шаблоны и API-интерфейсы системных фреймворков. То, что, в свою очередь, требует рабочих знаний Objective-C, достаточно для создания простых приложений.

Теперь, если вам нужно было интегрировать некоторую массивную библиотеку Python - скажем, Twisted - тогда использование Python в качестве основного языка реализации было бы вполне уместным. Но вам все равно нужна хорошая основа знаний/комфорта с Objective-C и API Cocoa.

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

  • Нет связанных вопросов^_^