2016-08-11 3 views
3

Я начал экспериментировать с CoreAudio в Swift вместе с примерами «Learning CoreAudio», которые написаны в Objective-C. То, что я заметил, что с помощью Swift с CoreAudio немного неудобно ...Язык выбора для CoreAudio

Например, я должен использовать странные UnsafeMutablePointer struct для работы с указателями и есть много указателей в CoreAudio ... Также при настройке и получении свойства, которые часто используют sizeof() но sizeof() возвращает Int и свойство получения и настройка функция требует UInt32 так что я должен сделать что-то вроде UInt32(sizeof(variable.dynamicType)) для этого, чтобы работать, и есть много более странные вещи происходят ...

так Я начал думать, нормально ли писать код Core Audio в Obj-C и весь пользовательский интерфейс приложения в Swift? Будут ли я испытывать узкие места производительности, используя Obj-C вместо Swift? Или я должен придерживаться Swift ради совместимости и производительности?

ответ

0

Core audio - это API на основе C, поэтому он может чувствовать себя чуть менее смешанным с objC.

Однако вы можете написать обложку ObjC высокого уровня, которая соответствует вашим потребностям, что означает все, чего вы ожидаете от CoreAudio, а затем использовать ее в быстром проекте, добавив мост. Перфомант будет смешным (я знаю, что яблоко говорит, что быстрое выполнение выполняется быстрее, чем objC, но это низкий уровень, поэтому он будет безвредным.

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