2016-04-01 44 views
2

これはSwiftオープンソースプロジェクトのEurekaに関連する質問です。ここでタグを監視しているので、ここにこの質問を掲載しています。MultipleSelectorRowの値に基づいて行を有効/無効にする

MultipleSelectorRowとそれに続くTextRowのフォームを作成しました。そのTextRowはデフォルトで無効になっています。 MultipleSelectorRowにはオプションのリストが表示されます。ユーザーが最後のオプションを選択した場合、私が欲しいもの

form 
    +++ Section() 
    <<< MultipleSelectorRow<String>("Lead") { 
     $0.title = "Lead" 
     $0.options = ["Yahoo", "Yelp", "Google", "Referral or Other"] 
    } 
    .onPresent { from, to in 
     to.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: from, action: #selector(ViewController.multipleSelectorDone(_:))) 
    } 
    <<< TextRow("Referral") { 
     $0.title = "Note Referral or Other" 
     $0.disabled = "$Lead != 'Referral or Other'" 
    } 

は、私はTextRowを有効にしたい、紹介やその他のです。

私の現在の実装はこれをしません。それは無効のままです。私はここで間違って何をしていますか?

答えて

2

定義ではMultipleSelectorRow<T>は値型としてSet<T>を保持していますが、誤って文字列値があると思われます。

$0.disabled = "NOT $Lead contains 'Referral or Other'" 

または代わりに...

$0.hidden = Condition.Function(["Lead"]) { form in 
     if let r1 : MultipleSelectorRow <String> = form?.rowByTag("tag1") { 
      return r1.value.contains("Referral or Other") == false 
     } 
     return false 
} 
...あなたはこの述語を試着べきであると述べました
関連する問題