我对Swift中的动态元素有疑问,我最近几天找不到解决方案。

这是我的函数,它使用不同的条目创建UISegmentedControl:

func createButton (items: [String], margin: Int) {
    let customSC = UISegmentedControl(items: items)
    let frame = UIScreen.mainScreen().bounds

    customSC.selectedSegmentIndex = 0
    customSC.frame = CGRectMake(56, CGFloat(50 + margin), 200, 30) // X, Y, width, height
    customSC.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
    self.view.addSubview(customSC)
}


在一个循环中,我在另一个下面创建不同的SegementedControls,例如

var set1: [String] = ["item1", "item2"]
createButton(set1, margin: 50)
var set2: [String] = ["item3", "item4"]
createButton(set2, margin: 100)


现在我的问题是:用户选择每个SegmentedControl并按下按钮后,如何获取所有值?我需要类似动态ID或名称的内容。

最佳答案

创建一个全局/属性NSMutableArray指针,以存储对动态创建的SegementedControls的引用:

var controls: [AnyObject] = NSMutableArray


最后,完成后,仅循环访问此数组即可相应地处理所有值。

09-17 09:29