2016-08-13 24 views
0

我實在不明白這一點:發現零可選值?

print(module) 
print(Globals.sharedInstance.dataModuleName) 
let kind:NSString = module[Globals.sharedInstance.dataModuleName] as! NSString 

將打印這一點,然後崩潰了奇怪的理由:

(//dic print 
     { 
     meta = no; 
     module = IN; 
     subject = LT; 
     variable = A2; 
    } 
) 
module // print the right field we are looking for inside the dictionary . 

fatal error: unexpectedly found nil while unwrapping an Optional value

但是你可以看到這個模塊是一個有效的字典和也dataModuleName

碰到線let kind。它出什麼問題了 ?

回答

3

你模塊的Dictionary不能直接DictionaryArray,所以你需要先訪問它的第一個對象,然後將模塊鍵這樣

let kind:String = module[0][Globals.sharedInstance.dataModuleName] as! String 

注:一個sugeestion,在迅速使用String代替NSString

此外,您可以使用if letguard與初始化,以避免崩潰。

+0

非常感謝,但我檢查了這一點,它的字典,我創建了一個名爲與var數據的數據字典:NSMutableDictionary = [:] – Curnelious

+0

它打印它的方式是數組字典,嘗試一次我的答案。 –

+0

對不起,這很對,非常感謝!會讓我接受。 – Curnelious

相關問題