[ライブラリ]Eurekaの行にタグを付けてRow値を取得するには?

スポンサーリンク

はじめに

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

 

 

 

コメント

  1. ya より:

    大変見やすく、参考にさせて頂いています。以下2点、教えて頂きたいです。
    ・Eurekaのリストの開始位置(frame?)の変更方法
    ※上部に配置したimageViewの下に入力フォームを設置する、等。
    ・Imagerowの扱い方

    • hiro より:

      yaさん
      コメントありがとうございます。
      調査して、わかり次第記事をアップしますね。

タイトルとURLをコピーしました