0
我是swift新手,所以我很難理解可能非常簡單的事情。Swift Xcode使用複選框子類將操作附加到複選框
我想在每週的每一天都有複選框,並且能夠將它們的狀態有點像標準Apple時鐘應用程序鬧鐘重複頁面一樣切換。我正在使用從https://github.com/kenthinson/checkbox/借來的子類來創建一組複選框。所有這些都像故事板中的魅力一樣,但現在我正在爲如何在視圖控制器中引用子類複選框「狀態」而苦苦掙扎,以實際執行某些操作。
因此,這裏的子類:
import UIKit
class checkBox: UIButton {
//images
let checkedImage = UIImage(named: "checkBoxChecked")
let unCheckedImage = UIImage(named: "checkBoxUnchecked")
//bool property
var isChecked:Bool = false{
didSet{
if isChecked == true{
self.setImage(checkedImage, forState: .Normal)
}else{
self.setImage(unCheckedImage, forState: .Normal)
}
}
}
override func awakeFromNib() {
self.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
self.isChecked = false
}
func buttonClicked(sender:UIButton) {
if(sender == self){
if isChecked == true{
isChecked = false
}else{
isChecked = true
}
}
}
}
下面是一個插座例如:
@IBOutlet weak var sun: checkBox!
這裏是我的空數組準備追加(工作):
var daysArray:[String] = []
以下是一個示例操作:
@IBAction func setSunday(sender: checkBox) {
if (****what do I do here to retrieve the button state?****) {
daysArray.append("0")
print(daysArray) // Check the array is working then delete
} else {
daysArray.removeAtIndex(0)
print(daysArray) // Check the array is working then delete
}
}
如果我能得到這個工作,那麼我可以申請到一週中的所有日子,並使用NSUserDefaults使數組的狀態持久化。 希望你們能幫忙。
謝謝瑪麗安。我以爲我曾經嘗試過,但我不應該把語法說得很對。 – user3118171
現在我意識到這個概念不會工作,因爲索引會隨着連續的按鈕點擊而改變。回到繪圖板。 – user3118171