我正在使用计算属性来获取我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
我可以使用一个函数来返回当前书籍,但使用属性会更清晰。还有其他方法吗?