thi*_*oah 0 macos ipv4 ios swift
我正在尝试使用没有文档的peertalk框架.在他们的obj-c示例中,他们使用INADDR_LOOPBACK宏,并且示例正在运行.但是当我尝试在swift中做同样的事情时,系统会给我一个未解决的标识符错误.任何人都知道如何解决它?
http://www.gnu.org/software/libc/manual/html_node/Host-Address-Data-Type.html
更新Swift 3:从Swift 3开始,INADDR_LOOPBACK
导入Swift.因此,添加就足够了
#include <netinet/in.h>
Run Code Online (Sandbox Code Playgroud)
到桥接头文件,但不再需要自定义定义.
老答案:由于某种原因,宏定义
#define INADDR_LOOPBACK (u_int32_t)0x7f000001
Run Code Online (Sandbox Code Playgroud)
从<netinet/in.h>被不导入到斯威夫特.问题可能是(u_int32_t)强制转换,因为其他宏都喜欢
#define INADDR_NONE 0xffffffff /* -1 return */
Run Code Online (Sandbox Code Playgroud)
是进口的.
一种解决方案是定义
let INADDR_LOOPBACK = UInt32(0x7f000001)
Run Code Online (Sandbox Code Playgroud)
在你的Swift代码中.或者,添加
#include <netinet/in.h>
const uint32_t kInAddrLoopback = INADDR_LOOPBACK;
Run Code Online (Sandbox Code Playgroud)
到桥接头文件并kInAddrLoopback在Swift代码中使用.这不容易出错,因为您不必重复常量.
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |