Tag: swift

Swift:使用strftime和localtime进行NSDate格式化

如何将以下Objective-C代码转换为Swift代码? #define MAX_SIZE 11 char buffer[MAX_SIZE]; time_t time = [[NSDate date] timeIntervalSince1970]; strftime(buffer, MAX_SIZE, “%-l:%M\u2008%p”, localtime(&time)); NSString *dateString = [NSString stringWithUTF8String:buffer]; NSLog(@”dateString: %@”, dateString); // dateString: 11:56 PM 我正在格式化date 。

Swift:如何调用从dylib加载的C函数

有没有办法调用从Swift的dylib加载的C函数? 这是我的dylib文件: cppdemofile.cpp #include “cppdemofile.h” int add(int a, int b) { return a + b; } cppdemofile.h #ifndef __CppDemoLibrary__cppdemofile__ #define __CppDemoLibrary__cppdemofile__ #pragma GCC visibility push(default) extern “C” int add(int a, int b); #pragma GCC visibility pop #endif 编译成dylib并检查: nm -gU libCppDemoLibrary.dylib 0000000000000f80 T _add …将libCppDemoLibrary.dylib复制到~/lib … Swift程序 : @IBAction func buttonClick(sender: NSButton) { let handle […]

从Swift字符串转换为const char *

我正在尝试将const char *传递给从Swift中的Swift字符串转换而来的旧C库。 这是我正在调用的C函数: artnet_node artnet_new(const char *ip, int verbose) { … 如何将Swift字符串转换为此const char类型? 当我像这样传递ipAddress时,它可以工作: internal var ipAddress = “192.168.1.43” 但是当我像这样传递时,dit不起作用 internal var ipAddress:String = “192.168.1.43” 我需要在一个需要指定类型的函数中使用它: internal func setupArtnode(ip:String) -> Int{ 我尝试使用AnyObject而不是String,但这也不起作用。 谢谢。

Swift:将未初始化的C结构传递给导入的C函数

我知道这个答案 ,但这不是一回事 – 那就是传递一个指针,用分配初始化。 我正在与具有以下结构定义的C库连接: typedef struct myStruct { unsigned char var [50]; } myStruct; 有一个函数可以传递结构的地址 – 通常基于堆栈而不是堆,因此: myStruct mine; initMyStruct(&mine); 这会初始化结构的内容 – 调用者不知道内存的内部格式,因此混淆。 在Swift中,我正在创建一个类,它将封装结构和与其上运行的其他C函数的接口。 class MyClass { var mine : myStruct init() { initMyStruct(&mine) // Error: Variable ‘self.msg’ passed by reference before being initialized } } 我不能为我的生活弄清楚如何初始化结构,或者如果可以替代使用一个点。 mine = myStruct() // Fails because you […]