swift 引用c语言结构体时的初始化问题

问题场景:
swift引用c语言写的静态库,接口文件中有一个结构体,类似:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct ServerInfo {
char *laddr;
char *lport;
char *raddr;
char *rport;
int closeFlag;
int state;
BOOL a;
BOOL b;
int c;
int d;
int e;
int f;
......
};

我引用的时候想偷懒,希望只对closeFlag字段初始化,其它的用默认值。

实现方式:

1
2
3
4
5
6
7
8
9
10
11
extension ServerInfo {
init (closeFlag: Int32) {
self = ServerInfo()
self.closeFlag = closeFlag
}
}

class eagle {
static var server = ServerInfo(closeFlag: 2)
......
}

Contents
,