我正在尝试将一个Objective-C应用程序翻译成Swift,但我不知道如何实现malloc。
在Swift中是否可以使用它?
谢谢
我正在尝试将一个Objective-C应用程序翻译成Swift,但我不知道如何实现malloc。
在Swift中是否可以使用它?
谢谢
如果在Swift中使用ObjC或C,您需要实现一个桥接头文件。桥接头文件中导出的函数在Swift应用程序/模块中可用。有关概述,请参见此处。
如果您只需要在C端“调用某些代码”,则从C导出的函数基本上只是Swift的包装器。但是,如果您需要与从这些函数返回的数据交互--尤其是如果是malloc'd并且不是简单的原始类型--Swift具有许多与C相关的类型供您使用(请参见此处以获取详细信息)。
此外,如果您尝试包装或与C++代码交互,则无法直接从Swift中进行。您必须建立与ObjC或C的初始接口,然后将其桥接到Swift。这真的不太有趣,但幸运的是,它不像桥接ObjC(主要是)或C那样常见。
对于任何适用的用例,除非您有某些原因需要低级别的Core Audio(当然,比如移植您已经拥有的应用程序),否则AVAudioEngine(iOS8+)比Core Audio简单得多,并且在Swift中可以轻松使用。
malloc
来分配一些内存,那么你不需要这样做。在Swift中不使用直接内存分配。 - Kyokook Hwang