我有5個按鈕代表城市,我已經通過Attribute Inspector
分配給他們tags
如下,CityA as 0,.......CityE as 4
。如何將按鈕標籤存儲在變量中?
有沒有一種方法,我可以將這些標記存儲到一個變量cityTag
並確保如果在保存按沒有按鈕的,我可以發送消息"Please select a city"
我創建了多個按鈕的action
,但我不知道如何創建一個variable
並將它分配給tags
。
我有5個按鈕代表城市,我已經通過Attribute Inspector
分配給他們tags
如下,CityA as 0,.......CityE as 4
。如何將按鈕標籤存儲在變量中?
有沒有一種方法,我可以將這些標記存儲到一個變量cityTag
並確保如果在保存按沒有按鈕的,我可以發送消息"Please select a city"
我創建了多個按鈕的action
,但我不知道如何創建一個variable
並將它分配給tags
。
由於您是通過屬性檢查器添加標籤,您可以通過sender.tag
屬性訪問輕擊按鈕的標籤!
最初創建NSMutableArray
(將保存按下所有按鈕的標籤),但顯然會在一開始空!您可以使用IBAction
中的sender.tag
屬性訪問該標籤。如果您在嘗試保存時NSMutableArray
未包含標籤,則可以顯示警報。
初始化citytag = -1
。更改citytag的價值,當你按下一個按鈕,像citytag = sender.tag
並保持如果citytag == -1
支票,然後將消息發送please select a city
其他selected city is ###
爲了更好的可讀性的代碼yourcould定義爲代表的名稱和標記,以及這種情況下的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
值:
let rawValue: Int = cityA.rawValue
我試圖存儲標籤值model.Can城市變量的值被存儲在覈心數據的整數類型的屬性。 – leaner122
你可以有從類型'NSNumber'持有的原始值的私人財產,寫上你'CoreData'模型的擴展,通過自己的getter和setter該值到'City'枚舉映射。 –
你可以試試這個:
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
}
}
在返回的基礎上,你就會知道按鈕選擇或不。 希望它能幫助你
你可以使用'NSDictionary'。 – ColdSteel