错误:变量在其自己的初始值内使用?

时间:2015-10-07 10:42:03

标签: ios xcode swift

我试图将Xcode 6.4中开发的源代码转换为Xcode 7.我遇到了一些新的错误。下面在Xcode 6.4中正常工作的代码在Xcode 7中不起作用

 for (index: String, category: JSON) in json["payload"]["categoryList"] {
        let category:Category = Category(category : category)
      categoryList.append(category)
    }

4 个答案:

答案 0 :(得分:0)

更新您的代码,如下所示

for (index: String, cat: JSON) in json["payload"]["categoryList"] {
        let category:Category = Category(category : cat)
      categoryList.append(category)
    }

答案 1 :(得分:0)

最好不要在同一范围内重复使用变量名作为参数名和局部变量来混淆编译器。

更好的写作:

for (index: String, category: JSON) in json["payload"]["categoryList"]  {
  let categoryListItem = Category(category : category)
  categoryList.append(categoryListItem)
}

甚至

for (index: String, category: JSON) in json["payload"]["categoryList"] {
  categoryList.append(Category(category : category))
}

不需要类型注释Category。编译器推断出类型

答案 2 :(得分:0)

for (index: String, categoryJSON: JSON) in json["payload"]["categoryList"] {
    let category:Category = Category(category : categoryJSON)
    categoryList.append(category)
}

答案 3 :(得分:0)

实际上我在swift 2.0中找到了我的问题的答案,他们改变了for循环的语法

for (key,categoryJSON):(String, JSON) in json {
        //Do something you want
        let category:Category = Category(category : categoryJSON)
        categoryList.append(category)

}