这个可变参数的函数非常方便,效率也不错。不过貌似新手(2年左右)知道的人不多。不管是在C/C++,JAVA中都有这个,当然了,Swift也是如此,这样强大好用的功能怎么能缺少呢?
下面简单举例,因为比较简单,不像VC++中的valist有点小麻烦。上代码,自己看
因为对Swift不太熟,所以不知道有没有和Java中的StringBuffer或者StringBuild类没,我是直接用字符串连接。
调用方式:
结果:
再来一个生成json格式的字符串函数
结果:
当然了,也可以用字典生成。还能是对应的类型,如String,Int,Bool,Double,Float……
这个自己简单改下就可以了。我这里字符串格式的已经够用了。
后记:发现Swift中有NSMutableString这个类,所以用这个连接。
下面简单举例,因为比较简单,不像VC++中的valist有点小麻烦。上代码,自己看
static func getUrl(api:String, string:String ...)->String! { var buf:String = String("http://") buf += server buf += "/api/" buf += api buf += "?" if (string.count % 2) != 0 { print("参数长度必须为2的倍数") return buf } for(var i=0;i<string.count;i+=2){ buf += string[i] buf += "=" buf += string[i+1] if(i != string.count-2){ buf += "&" } } print(buf) return buf }
因为对Swift不太熟,所以不知道有没有和Java中的StringBuffer或者StringBuild类没,我是直接用字符串连接。
调用方式:
HttpFunction.getUrl("login", string: "user","ithtw","pwd","ithtw")
结果:
http://192.168.100.100/api/login?user=ithtw&pwd=ithtw
再来一个生成json格式的字符串函数
static func genJson(string:String ...)->String! { var buf = String() if (string.count % 2) != 0 { print("参数长度必须为2的倍数") return buf } for(var i=0;i<string.count;i+=2){ if i == 0 { buf += "{" } buf += """ buf += string[i] buf += """ buf += ":" buf += """ buf += string[i+1] buf += """ if(i != string.count-2){ buf += "," }else if i == string.count-2 { buf += "}" } } return buf }
let json = HttpFunction.genJson("name","ithtw","pwd","ithtw") print(json)
结果:
{"name":"ithtw","pwd":"ithtw"}
当然了,也可以用字典生成。还能是对应的类型,如String,Int,Bool,Double,Float……
这个自己简单改下就可以了。我这里字符串格式的已经够用了。
后记:发现Swift中有NSMutableString这个类,所以用这个连接。
static func genJson(string:String ...)->String! { let buf = NSMutableString() if (string.count % 2) != 0 { print("参数长度必须为2的倍数") return buf as String } for(var i=0;i<string.count;i+=2){ if i == 0 { buf.appendString("{") } buf.appendString(""") buf.appendString(string[i]) buf.appendString(""") buf.appendString(":") buf.appendString(""") buf.appendString(string[i+1]) buf.appendString(""") if(i != string.count-2){ buf.appendString(",") }else if i == string.count-2 { buf.appendString("}") } } return buf as String } private static func genUrl(api:String, string:String ...)->String! { let buf = NSMutableString() buf.appendString("http://") buf.appendString(server) buf.appendString("/api/") buf.appendString(api) if (string.count % 2) != 0 { print("参数长度必须为2的倍数") return buf as String } for(var i=0;i<string.count;i+=2){ if i == 0 { buf.appendString("?") } buf.appendString(string[i]) buf.appendString("=") buf.appendString(string[i+1]) if(i != string.count-2){ buf.appendString("&") } } return buf as String }
收藏的用户(0) X
正在加载信息~
推荐阅读
最新回复 (0)
站点信息
- 文章2302
- 用户1336
- 访客10968998
每日一句
Qingming Festival invites us to honor ancestors with quiet reflection and respect.
清明节邀请我们以静思与敬意祭奠祖先。
清明节邀请我们以静思与敬意祭奠祖先。
新会员