我有5个代表城市的按钮,我已经通过tags
分配了Attribute Inspector
,如下所示,CityA as 0,.......CityE as 4
。
有没有办法可以将这些标签存储到变量cityTag
中并确保如果在保存时没有按下按钮,我可以发送消息"Please select a city"
我创建了一个包含多个按钮的action
,但我不知道如何创建variable
并为其分配tags
。
答案 0 :(得分:2)
为了更好的代码可读性,您可以为该案例定义C
,代表名称和标记:
例如:
Enum
您可以将它们存储在enum City: Int {
case .cityA,
case .cityB,
case .cityC
}
:
Array
设置城市:
var cities: [City] = []
阅读if let cityA: City = City(rawValue: button.tag) {
cities.append(cityA)
}
值:
Int
答案 1 :(得分:1)
由于您是通过属性检查器添加标记,因此可以通过sender.tag
属性访问点按按钮的标记!
最初创建一个NSMutableArray
(将按住所有按钮的标签),但在开始时显然是空的!您可以使用sender.tag
中的IBAction
属性访问代码。如果您在尝试保存时NSMutableArray
没有标记,则可以显示提醒。
答案 2 :(得分:0)
初始化citytag = -1
。当您按下citytag = sender.tag
按钮时更改citytag的值,并检查是否citytag == -1
然后发送消息please select a city
否则selected city is ###
答案 3 :(得分:0)
你可以试试这个:
func checkbuttons -> BOOL {
var countBtn = 0
for view in self.view.subviews as [UIView]
{
if let btn = view as? UIButton
{
if btn.isSelected
{
countBtn = countBtn + 1
}
}
}
if(countBtn > 0)
{
return true
}
else
{
return false
}
}
根据返回,您将知道是否选择了按钮。 希望它能帮到你