Я пытаюсь перевести приложение Objective-C на Swift и не знаю, как реализовать malloc.
Можно ли использовать его в Swift?
Спасибо
Я пытаюсь перевести приложение Objective-C на Swift и не знаю, как реализовать malloc.
Можно ли использовать его в Swift?
Спасибо
Вам необходимо реализовать соединительный заголовок, когда вы используете ObjC или C из Swift. Функции, экспортированные вашим связующим заголовком, затем доступны в вашем приложении/модуле Swift. Обзор см. здесь.
Если вам просто нужно «вызвать какой-то код» на стороне C, то функции, экспортированные из C, в основном являются просто оболочками для Swift. Однако, если вам нужно взаимодействовать с данными, возвращаемыми этими функциями, особенно если это malloc, а не простой примитив, в Swift есть несколько типов, связанных с C, готовых для вашего использования (см. здесь ).
Кроме того, если вы пытаетесь обернуть код C++ или взаимодействовать с ним, вы не сможете сделать это напрямую из Swift. Вы должны настроить начальный интерфейс с ObjC или C для кода C++, а затем подключить его к Swift. Совсем не весело, но, к счастью, это не такой распространенный вариант использования, как соединение ObjC (в первую очередь) или C.
... и что бы это ни стоило, если вам по какой-то причине не нужен низкоуровневый Core Audio (конечно, например, для переноса уже имеющегося приложения), AVAudioEngine (iOS8+) настолько намного проще для любого применимого использования случае, чем Core Audio, и легко доступен в Swift.
malloc
для выделения некоторого объема памяти, вам не нужно этого делать. Прямое выделение памяти не используется в Swift. - person Kyokook Hwang   schedule 18.11.2014