我是Swift的新手,我想知道如何在Swift中创建参数化的字符串或宏?在swift中创建参数化的字符串或宏?
就像我们做的Objective-C:
#define SEARCH(name, limits) [[NSString stringWithFormat:@"https://someURL.com/search?term=%@&limit=%ld", name, limits]
如何在斯威夫特制定上述声明?
我是Swift的新手,我想知道如何在Swift中创建参数化的字符串或宏?在swift中创建参数化的字符串或宏?
就像我们做的Objective-C:
#define SEARCH(name, limits) [[NSString stringWithFormat:@"https://someURL.com/search?term=%@&limit=%ld", name, limits]
如何在斯威夫特制定上述声明?
您可以定义全局函数:
func search(name: String, _ limits: Int) -> String {
return "https://someURL.com/search?term=\(name)&limit=\(limits)"
}
也不要忘记URL编码name
:
func search(name: String, _ limits: Int) -> String {
let urlEncodedName = name.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) ?? ""
return "https://someURL.com/search?term=\(urlEncodedName)&limit=\(limits)"
}
您也可以使用相同的代码在桥头
#define SEARCH(name, limits) [[NSString stringWithFormat:@"https://someURL.com/search?term=%@&limit=%ld", name, limits]
相同
#define kNSUserDefaultUserInfo "UserInfo"
我想在我的项目大桥 - 头你的代码,并从所有文件的访问无论是斯威夫特还是目的C.
希望这将帮助你
我试过这个,但它不适合我。将它添加到网桥头文件后,如何使用? – VRAwesome
是好还是坏雨燕[少了点有](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/Migration.html)预处理器宏。[更多](http://stackoverflow.com/a/24114340/294884) – Fattie