0

SegmentedRow を実行しようとしています。そして、各セクションには TextRows があります。これらの TextRows は数が動的です。私は試した:

 +++ Section()
            <<< SegmentedRow<String>("segments"){
                $0.options = ["Assets", "Notes", "Photos"]
                $0.value = "Assets"
            }
            +++ Section(){
                $0.tag = "assets_s"
                $0.hidden = "$segments != 'Assets'" // .Predicate(NSPredicate(format: "$segments != 'Sport'"))
            }
            for t in myarray{
                <<< TextRow(){
                $0.title = "Which is your favourite soccer player?"
            }

            }

そこに for ループを入れようとしましたが、後続の行でエラーが発生します。

4

1 に答える 1

2

私はあなたが必要とするのはこのようなものだと思います、そしてこれはそれがどのように見えるかです

ここに画像の説明を入力

class ViewController2: FormViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let assets = [String](arrayLiteral: "asset1","asset2","asset3")
        let notes = [String](arrayLiteral: "note1","note2","note3")
        let photos = [String](arrayLiteral: "photo1","photo2","photo3")
        // Do any additional setup after loading the view.

        form  +++ Section()
            <<< SegmentedRow<String>("segments"){
                $0.options = ["Assets", "Notes", "Photos"]
                $0.value = "Assets"
                }.onChange({ (segmented) in
                    if(segmented.value == "Assets")
                    {
                        segmented.section!.removeLast(segmented.section!.count - 1)

                        for value in assets
                        {
                            segmented.section! <<< TextRow(){
                                $0.title = value
                            }
                        }
                    }
                     if(segmented.value == "Notes")
                    {
                        segmented.section!.removeLast(segmented.section!.count - 1)

                        for value in notes
                        {
                            segmented.section! <<< ButtonRow(){
                                $0.title = value
                            }
                        }
                    }

                    if(segmented.value == "Photos")
                    {
                        segmented.section!.removeLast(segmented.section!.count - 1)

                        for value in photos
                        {
                            segmented.section! <<< TextRow(){
                                $0.title = value
                            }
                        }
                    }
                })

    }

}

これがお役に立てば幸いです

于 2016-06-28T16:21:20.623 に答える