2017-10-05 5 views
0
var pickerData: [[String]] = [String] 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view. 

    // Connect data: 
    self.gothramPicker.delegate = self 
    self.gothramPicker.dataSource = self 
    pickerData = [ 
      [["A"],["i","ii","iii"]], 
      [["B"],["iv","v","vi","vii"]] 
    ]" 

コンテキストエラー「String」は配列リテラルでは使用できません。私のピッカーには2つのセクションがあり、各アイテムは最初のピッカーで選択されている場合は、2番目のピッカーから選択するための独自の細分があります。スウィフトピッカー配列エラー

ArrayでArrayを使用したいと思います。各メイン配列には異なるリストのサブ配列があります。ピッカーで最初の配列を選択すると、特定の配列アイテムのサブアイテムのみが表示されます。そのため、二重括弧を追加すると、エラーが発生します。また、コード内のエラーを教えてください。

+1

適切な人がこの質問を見つけるために言語にタグを付けることがあります。 – RSon1234

+0

誰でもサポートできますか? – Sureshtrb

+0

ヘルプを待っています – Sureshtrb

答えて

0

@sureshtrbここで質問していないので、私は答えを投稿していません。率直に言って、あなたはSyntaxの理解だけに悩まされています。 string [[String]]の配列を含むArray型([])のpicketDataを宣言していて、stringの代わりに["A"]を入れて、Stringの代わりに配列["A"]を追加しています"A"。

あなたの本当の問題として、2 diff配列や辞書を使うことをお勧めします。

以下のコードがコンパイルされます。

var pickerData: [[String]] = [[String]]() 
    override func viewDidLoad() { 
    super.viewDidLoad() 

    pickerData = [ 
        ["A","i","ii","iii"], 
        ["B","iv","v","vi","vii"] 
       ] 
    } 
+0

あなたの提案に基づいて、ピッカーは最初の配列項目ごとに2番目の配列リストをすべて表示します。私の要件は、最初の配列の項目は、選択する項目のいくつかの特定のリストを持って、2番目の他のリストを持つことがあります。私の要求が明確であることを願って – Sureshtrb