我正在以编程方式创建分段控件,以便在不同的单元格子类之间切换。因此,我创建了一个整数,假设change等于selectedSegmentIndex问题是无论我做什么,整数总是为零,即使我检查了selectedSegmentIndex的变化,并且它确实在0和1之间变化。为什么整数总是0?
首先我创建整数
var segmentSelected:Int?
然后创建segmentedControl并在viewDidLoad中将integer设置为0
segmentedControl = UISegmentedControl(items: ["Detail", "Tickets"])
segmentedControl!.frame = CGRectMake((self.navigationController!.navigationBar.frame.width/2)-((self.navigationController!.navigationBar.frame.width-20)/2), self.navigationController!.navigationBar.frame.height-38, self.navigationController!.navigationBar.frame.width-20, 28)
segmentedControl!.selectedSegmentIndex = 0
segmentedControl!.tintColor = UIColor.whiteColor()
segmentedControl!.addTarget(self, action: Selector("valueChanged:"), forControlEvents: UIControlEvents.ValueChanged)
self.navigationController?.navigationBar.addSubview(segmentedControl!)
segmentSelected = 0
然后我创建valueChanged方法
func valueChanged(sender: UISegmentedControl) {
println(segmentedControl?.selectedSegmentIndex)
if segmentedControl?.selectedSegmentIndex == 0 {
segmentSelected == 0
tableView.reloadData()
} else if segmentedControl?.selectedSegmentIndex == 1 {
segmentSelected == 1
tableView.reloadData()
}
println(segmentSelected)
}
最佳答案
您使用的是==
而不是=
,因此您永远不会分配segmentSelected
变量。