2016-09-18 3 views
1

私はSwiftにQuizAppを作成していますが、このコードが私を狂わせてしまいます。'NSMutableArray'から無関係な型 '[String]'にキャストすると常に失敗します

私は、次の変数が私のUIViewControllerクラスの前に宣言している:

var questionsList:[String] = [] 
var answersList:[NSMutableArray] = [] 

私はそのコンテンツのロードの.plistファイルを読んで実行します。私はこのように書きgenerateRandomQuestion機能を持っている

let dictRoot = NSDictionary(contentsOfFile: NSBundle.mainBundle().pathForResource("filename", ofType: "plist")!) 
    questionsList = (dictRoot?.allKeys)! as! [String] 
    answersList = (dictRoot?.allValues)! as! [NSMutableArray] 

を:残念ながら、NSMutableArrayへのキャストは、 [文字列]は常に失敗します...

どのように回り込むことなくそれを変換するかについてのヒント?

(私はflatMapを試みたが、それは動作しません...)

すべてのヘルプは高く評価されます!

答えて

3

絶対に選択肢がない限り、変更可能な財団コレクションタイプは使用しないでください。

ネイティブスイフトタイプを使用してください。

var answersList = [[String]]() 
... 
answersList = (dictRoot?.allValues)! as! [[String]] 
+1

あなたは本当にありがとうございます。あなたは私の一日を救った!本当にありがとう! p.s.投票しようとしましたが、それを見えるようにするには十分な評判がありません:-( – Alex

+0

しかし、私はあなたが担当者1と答えを受け入れることができると思います – vadian

+1

本当です! – Alex

関連する問題