如何在变量中存储按钮标签?

时间:2016-12-06 10:59:24

标签: ios swift xcode

我有5个代表城市的按钮,我已经通过tags分配了Attribute Inspector,如下所示,CityA as 0,.......CityE as 4

有没有办法可以将这些标签存储到变量cityTag中并确保如果在保存时没有按下按钮,我可以发送消息"Please select a city"

我创建了一个包含多个按钮的action,但我不知道如何创建variable并为其分配tags

4 个答案:

答案 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
   }
}

根据返回,您将知道是否选择了按钮。 希望它能帮到你