【发布时间】:2017-10-21 09:47:38
【问题描述】:
我正在使用计算属性来获取我的books 数组中的最后一本书。但是,我似乎无法使用此属性直接设置一本书的 position 属性,如下所示:
struct Book {
var position: CGPoint?
}
class ViewController: UIViewController {
var books = [Book]()
var currentBook: Book {
return books[books.count - 1]
}
func setup() {
// Compiler Error: Cannot assign to property: 'currentBook' is a get-only property
currentBook.position = CGPoint.zero
}
}
以下工作,但我希望它更具可读性和单行。
books[books.count - 1].position = CGPoint.zero
我可以使用函数返回当前书籍,但使用属性会更简洁。还有其他方法吗?
【问题讨论】: