相关疑难解决方法(0)

因为 in 给出了 let 而不是 var

我正在为 Swift 中的 for-in-loop 苦苦挣扎。我有两个 for 循环,我希望它们是等效的,但第一个给出了错误,第二个按我的预期工作。有人可以解释我为什么它的工作方式不同吗?

protocol Slide {
    var title: String { get set }
}

class BasicSlide: NSObject, Slide {
    var title: String = "Title"
}

var slides: [Slide]?
slides = [BasicSlide()]

for slide in slides! {
    slide.title = "New title" // Cannot assign to property: 'slide' is a 'let' constant
}

for var i in 0 ..< slides!.count {
    slides![i].title = "New title"
}
Run Code Online (Sandbox Code Playgroud)

swift

2
推荐指数
1
解决办法
2353
查看次数

标签 统计

swift ×1