SDK 8.3 不可变值...只有名为“附加”的变异成员
Posted
技术标签:
【中文标题】SDK 8.3 不可变值...只有名为“附加”的变异成员【英文标题】:SDK 8.3 Immutable value ... only has mutating members named 'append' 【发布时间】:2015-04-13 10:43:28 【问题描述】:我更新到 Xcode SDK 8.3 和 Swift 1.2:我使用新菜单项自动转换:编辑 -> 转换 -> “到最新的 Swift 语法”。它解决了所有问题?错误,但我留下了这个:
“[DetailView]”类型的不可变值只有名为“append”的变异成员
类 DetailView
class DetailView
var title: String
var icon: UIImage
var fontColor: UIColor
var highlightOpaqueColor: UIColor
init(title: String, icon:UIImage, fontColor: UIColor, highlightOpaqueColor: UIColor)
self.title = title
self.icon = icon
self.fontColor = fontColor
self.highlightOpaqueColor = highlightOpaqueColor
类 DetailViewSteps:DetailView
class DetailViewSteps:DetailView
override init(
title: String,
icon: UIImage,
fontColor: UIColor,
highlightOpaqueColor:UIColor)
super.init(
title: title,
icon: icon,
fontColor:fontColor,
highlightOpaqueColor:highlightOpaqueColor,
类 DetailViewInstanceList
class DetailViewInstanceList
let detailView:[DetailView] = []
class var sharedInstance: DetailViewInstanceList
struct Singleton
static let instance = DetailViewInstanceList()
return Singleton.instance
let assets = Assets()
init()
println("setting up DetailViewInstanceList")
var steps = DetailViewSteps(
title: "Steps",
icon: UIImage(named: assets.stepsIconFileName)!,
fontColor: assets.stepsFontColor,
highlightOpaqueColor: assets.stepsOpaqueColor,
//Add it to the array
detailView.append(steps) <-- error!
错误发生在最后一行。我认为用 var steps = DetailViewSteps(... 初始化类可以解决不可变的问题,但是没有。非常感谢任何帮助!谢谢
【问题讨论】:
【参考方案1】:var detailView:[DetailView] = []
let 是不可变的,var 是可变的。
【讨论】:
啊,对不起,完全失明了。但是为什么在更新到 swift 1.2 之后会出现这个错误呢?有什么想法吗?以上是关于SDK 8.3 不可变值...只有名为“附加”的变异成员的主要内容,如果未能解决你的问题,请参考以下文章