我正在读取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不能转换为String
let uuidString = regionToMonitor["uuid"] as String=>找不到接受提供的参数的“下标”的重载
let uuidString = regionToMonitor["uuid"];=>'AnyObject?'不能隐式向下转换为“字符串”;您的意思是使用“as”来强制向下转换吗?

最佳答案

我以丑陋的结局告终:

var uuidString:String = regionToMonitor["uuid"] as! String

没有警告,没有错误,没有运行时错误

09-18 11:34