2016-08-13 53 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

相关问题