我想在操场上将以下OC代码转换为Swift。但我无法打电话
int len = res_nquery(res, host, ns_c_in, ns_t_a, answer, sizeof(answer));
答案 0 :(得分:0)
在我的代码中,我有这个Swift 3包装器:
public final func query(_ dname: String, qclass: UInt16, qtype: UInt16, answer: UnsafeMutablePointer<UInt8>, anslen: Int) -> Int32 {
return res_9_nquery(&state, dname, Int32(qclass), Int32(qtype), answer, Int32(anslen))
}
其中state
是:
var state = __res_9_state()
res_9_ninit(&state)
您需要将libresolv.9.dylib
添加到项目的库中。
答案 1 :(得分:-1)
http://www.jianshu.com/p/d945454e3abc
您需要在objective-c文件头上添加#include。
Get DNS server IP from iphone settings
你需要知道如何在swift中导入Objective-c。
您需要为res_query创建一个objective-c函数。
在objective-c文件中,如**。m,