我正在读取plist键(具有n个NSDictionaries的NSArray):
let regionsToMonitor = NSBundle.mainBundle().infoDictionary["Regions"] as Array<Dictionary<String,AnyObject>>
现在我遍历它:
for regionToMonitor in regionsToMonitor {
现在我想获取regionToMonitor的uuidString
在ObjC中:
NSString *uuidString = regionToMonitor[@"uuidString"];
快速尝试:
let uuidString = regionToMonitor["uuid"]!.stringValue;
上面的代码确实可以编译,但是字符串始终是 swift
nil
。在不使用!.stringValue的情况下使用regionToMonitor["uuid"]
在println
中可以正常工作我如何在这里获得有效的Swift.String?
我正在尝试将其传递给NSUUID!
我也试过了
let uuidString:String = regionToMonitor["uuid"]
=> AnyObject不能转换为Stringlet uuidString = regionToMonitor["uuid"] as String
=>找不到接受提供的参数的“下标”的重载let uuidString = regionToMonitor["uuid"];
=>'AnyObject?'不能隐式向下转换为“字符串”;您的意思是使用“as”来强制向下转换吗? 最佳答案
我以丑陋的结局告终:
var uuidString:String = regionToMonitor["uuid"] as! String
没有警告,没有错误,没有运行时错误