解析 Swift 錯誤:「Cannot assign to value: ‘X’ is a get-only property」

Swift 是一種強大的程式語言,但是當你嘗試做一些不正確的事情時,它也會給你一些錯誤訊息。其中一個常見的錯誤訊息是「Cannot assign to value: ‘X’ is a get-only property」,這個錯誤訊息表示你嘗試對一個只能讀取的屬性賦值,而不能寫入。

這個錯誤訊息的原因是因為 Swift 中的屬性可以被定義為只能讀取,而不能寫入。這意味著你可以從屬性中取得值,但是不能對它們賦值。

舉個例子,假設你有一個名為「Person」的類別,它有一個只能讀取的屬性「name」:

class Person {
    let name: String
    
    init(name: String) {
        self.name = name
    }
}

在這個例子中,「name」屬性是只能讀取的,因為它被定義為「let」,而不是「var」。這意味著你可以從「name」屬性中取得值,但是不能對它們賦值:

let person = Person(name: "John")

// This will work
let name = person.name

// This will not work
person.name = "Jane"

如果你嘗試對「name」屬性賦值,Swift 會給你一個錯誤訊息:「Cannot assign to value: ‘name’ is a get-only property」。

總而言之,「Cannot assign to value: ‘X’ is a get-only property」是 Swift 中一個常見的錯誤訊息,它表示你嘗試對一個只能讀取的屬性賦值,而不能寫入。如果你想要對屬性賦值,你必須將它定義為「var」,而不是「let」。

Categorized in:

Tagged in:

,