我知道你現在有一個工作的解決方案,但我想我會附和一些更普遍。
如果您想要更多地控制要附加減號的參數,您應該查看NSURLQueryItem
類(記錄的here)。
通過使用NSURLComponents
類(記錄在案here),您可以將URL分離爲組件,然後可以訪問queryItems
陣列。
因此,像:
if let components = NSURLComponents(string: "http://www.corpebl.com/blog.php?show=250"),
let queryItems = components.queryItems {
}
會給你一個網址,分成從您的字符串的組件,你必須在數組中的查詢項目。現在,您就看個人queryItems:
for item in queryItems where item.value != nil {
//here you can check on the item.name
//and if that matches whatever you need, you can do your magic
}
所以,這將只需添加一個減號所有參數和返回來自該URL字符串的函數可以是這個樣子:
func addMinusToParameters(inURLString urlString: String) -> String? {
guard let components = NSURLComponents(string: urlString),
let queryItems = components.queryItems else {
return nil
}
var minusItems = [NSURLQueryItem]()
for item in queryItems where item.value != nil {
minusItems.append(NSURLQueryItem(name: item.name, value: "-\(item.value!)"))
}
components.queryItems = minusItems
guard let minusUrl = components.URL else {
return nil
}
return minusUrl.absoluteString
}
和示例:
if let minusString = addMinusToParameters(inURLString: "http://www.corpebl.com/blog.php?show=250&id=23") {
print(minusString) //gives you "http://www.corpebl.com/blog.php?show=-250&id=-23"
}
是的,這似乎是更多的工作,但我認爲這是更靈活的爲好。
希望你能用這個。
快速回復,不錯(y) – Sahil