Swift - 许多IBOutlets一个控制器

时间:2017-07-18 13:44:31

标签: ios iboutlet

我有一个视图控制器,我需要有近200个文本字段。 我正在构建一个能耗计算器,我需要让用户可以添加他可能感兴趣的所有字段......

我的问题是: 它会在内存使用和性能方面给出问题吗? 有没有更好的方法来添加200个Outlets来收集用户插入的文本?

1 个答案:

答案 0 :(得分:0)

我建议您在每个单元格中使用UITableViewUICollectionView一个UITextField。用户开始输入后,您可以存储该值,例如:

class VC: UIViewController {
    private var values: [Int]?

    // code for reuse the cell
    // ............

    // you can use UITextFieldDelegate, store the index the user is at...
    // the logic is up to you
    func userTappedSomething() {
        values?.append(Int(currentFocusedCell.myTextField.text))
    }
}

这个逻辑可能会有所不同,因为您可以存储当前的索引路径,甚至是当前输入的文本,因此逻辑取决于您,但我们的想法是存储您按顺序点击的每个值,以便您"导航"在您的用户界面中,您可以调用cellForRow并设置存储的值。

关于文本字段,您可以使用代码或使用IBOutlet创建自定义单元格并直接访问。

警告:未经测试的代码