将Xcode更新为7.0后出错

我正在Swift中开发一个iOS应用程序。 当我将Xcode更新为7.0时,我在swiftyJSON中遇到错误。

static func fromObject(object: AnyObject) -> JSONValue? { switch object { case let value as NSString: return JSONValue.JSONString(value as String) case let value as NSNumber: return JSONValue.JSONNumber(value) case let value as NSNull: return JSONValue.JSONNull case let value as NSDictionary: var jsonObject: [String:JSONValue] = [:] for (k:AnyObject, v:AnyObject) in value {// **THIS LINE- error: "Definition conflicts with previous value"** if let k = k as? NSString { if let v = JSONValue.fromObject(v) { jsonObject[k] = v } else { return nil } } } 

有什么问题? 你能帮忙吗?

  for (k:AnyObject, v:AnyObject) in value { .. } 

必须用Swift 2编写

 for (k, v) : (AnyObject, AnyObject) in value { .. } 

从Xcode 7发行说明:

模式中不再允许使用类型注释,并将其视为exception声明的一部分。 这意味着以前编写的代码如下:

 var (a : Int, b : Float) = foo() 

需要写成:

 var (a,b) : (Int, Float) = foo() 

如果需要显式类型注释。 前一种语法与元组元素标签不明确。

但在您的情况下,实际上根本不需要显式注释:

 for (k, v) in value { .. } 

因为NSDictionary.Generator已经被定义为返回的生成器(key: AnyObject, value: AnyObject)元素。