0
我的問題是關於我在編寫函數以初始化結構體中的可選數組時遇到的錯誤,我通過將結構體更改爲類。我希望有人能向我解釋我不瞭解導致這個問題的結構和類。這是我的代碼。瞭解賦值中的結構和類的Swift屬性的區別
struct DataStorage {
//When I change this to class DataStorage this works
var listOfVariables = [VariableType]
var allDataPoints: [[DataPoint]]?
init() {
listOfVariables = VariableType.getAllVariables(managedObjectContext)
}
func initializeAllDataPoints() {
//THIS IS THE LINE IN QUESTION
allDataPoints = [[DataPoint]](count: listOfVariables.count, repeatedValue: [DataPoint]())
}
}
因此,功能initializeAllDataPoints
是什麼原因造成的錯誤,那就是真正的這個問題的相關部分。我得到的錯誤是Cannot assign to 'allDataPoints' in 'self'
。我只在DataStorage
是一個結構時纔得到這個錯誤,而當DataStorage
是一個類時,我不明白。對於導致行爲差異的類和結構,我不瞭解什麼?