识别快速按下的UIButton?
如何将UIButton元素标识为字符串并在函数调用中使用该字符串?我希望能够知道已按下了哪个按钮,然后根据已按下的按钮提供信息.我会使用字符串插值吗?然后,我想使用该字符串并从Foursquare API运行查询.
How can I identify a UIButton element as a string and use that string in a function call? I want to be able to know what button has been pressed and then provide information based on that button that has been pressed. Would I use String Interpolation? I then want to use the string and run a query from the Foursquare API.
下面是我一直在处理的代码:
Below is the code I have been working on:
首先,按钮名称:
let buttonNames = ["african", "buffet", "burger", "chinese", "fries", "grill", "icecream", "jap", "mex", "pizza", "seafood", "streetfood", "taj", "turkey"
搜索词结果:
var searchTerms = ["African", "All you can eat", "Buffet", "Burgers", "Brazilian", "Breakfast", "BBQ", "Chips", "Chinese", "Cakes", "Café", "Doughnuts", "Dessert", "English Breakfast", "Fast Food", "Fries", "French", "Grill", "Greek", "Italian", "Indian", "Japanese", "Jamaican", "Lebenese", "Mexican", "Pizza", "Street Food", "Sandwhich", "Turkish"]
然后调用函数:
@IBAction func startSearchQuery() {
if buttonNames == searchTerms {
// Do Something
var parameters = [Parameter.query:""]
parameters += self.location.parameters()
let searchTask = session.venues.search(parameters) {
(result) -> Void in
if let response = result.response {
self.venues = response["venues"] as [JSONParameters]?
self.tableView.reloadData()
}
}
searchTask.start()
} else {
print("Search term not found!")
}
}
如果我能在这方面得到一些帮助,我将不胜感激.谢谢大家!
If I can get some help on this I will be grateful. Thanks all!
在按钮上放置标签,您可以通过编程方式或在属性检查器上执行此操作,默认标签为0
Put a tag on the button, you can do this programmatically or on the attribute inspector, the default tag is 0
button.tag = index
@IBAction func startSearchQuery(sender: AnyObject) {
let button = sender as! UIButton
let index = button.tag
let buttonName = buttonNames[index]
....
}