はじめに
Eurekaで作成する行には、タグを付けることができます。
今回はタグを付けて、あとからRow値を取得する方法を紹介します。
Eurekaについては、本ブログのメニューから[ライブラリ]-[Eureka]を選択して参照ください。
環境
Xcode:9.4.1
Swift:4.1.2
タグを設定する方法
行にタグを設定するのは簡単です。
tagプロパティに、任意のタグ名を付けるだけです。
以下の例では、tagプロパティに”team”を設定しています。
form +++ Section("チーム設定") <<< TextRow { row in row.tag = "team" row.title = "チーム名" row.placeholder = "チーム名を入力" }
タグを使用して、行に入力された値を取得する方法
タグを使用して値を取得するには、はじめに form.rowBy(tag: タグ名) を使用して行全体の情報を取得します。次にvalueプロパティを使用して値を取得します。
例えば、保存ボタンをタップした時に行の値を取得したい場合は、以下の様にします。
この例では、タグ名「team」を使用して値を取得しています。
// 保存ボタンをタップしたときのアクション @objc func tappedSaveButton() { let teamRow = form.rowBy(tag: "team") as! TextRow let name = teamRow.value! print(name) }
values()メソッドを使用して値を取得する方法
Formのvaluesメソッドを使用すると、タグが設定されている行の値を全て取得することができます。
以下に例を示します。
この例では、valuesメソッドで全ての行を取得後に、タグ名を指定して任意の行の値を取得しています。
// 全てのRowの値を取得 let values = form.values() // 「team」というタグが設定された行の値を取得する let name = values["team"] as! String
コメント
大変見やすく、参考にさせて頂いています。以下2点、教えて頂きたいです。
・Eurekaのリストの開始位置(frame?)の変更方法
※上部に配置したimageViewの下に入力フォームを設置する、等。
・Imagerowの扱い方
yaさん
コメントありがとうございます。
調査して、わかり次第記事をアップしますね。