Я новичок в быстром, поэтому я озадачен тем, что, вероятно, очень просто.Swift Xcode присоединяет действие к флажку с помощью флагового подкласса
Я хочу иметь флажки для каждого дня недели и быть в состоянии переключать их состояния немного как стандартная страница повторения сигнала тревоги приложения Apple. Я использую подкласс, заимствованный из https://github.com/kenthinson/checkbox/, для создания набора флажков. Все, что работает как прелесть в раскадровке, но теперь я борюсь с тем, как обращаться к подклассу «state» в моем контроллере, чтобы на самом деле что-то делать.
Так вот подкласс:
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