问题描述
当我尝试附加到我的配置文件模型中的一个数组时,出现上述错误。
这是我的个人资料模型代码:
import Foundation
struct UserProfile: Codable {
var firstName: String
var lastName: String
var age: Int16
var password: String
var email: String
}
extension UserProfile {
static var users: [UserProfile] {
[
UserProfile(firstName: "aryan",lastName: "chordia",age: 21,password: "123",email: "aryanchordia@gmail.com"),UserProfile(firstName: "tyler",lastName: "duic",email: "tduic@andrew.cmu.edu"),]
}
}
extension UserProfile {
struct Data {
var firstName: String = ""
var lastName: String = ""
var age: Int16 = 21
var password: String = ""
var email: String = ""
}
var data: Data {
return Data(firstName: firstName,lastName: lastName,age: age,password: password,email: email)
}
}
这是我尝试在 SignUpView.swift 中附加到我的 UserProfile.users 数组的方法
func signup() -> Bool {
let user = UserProfile(firstName: userData.firstName,lastName: userData.lastName,password: userData.password,email: userData.email)
UserProfile.users.append(user)
return true
}
非常感谢任何帮助!
解决方法
您在这里使用的是计算属性。因此,该值是计算出来的,您不能设置它。
您可以使用这样的函数创建数组或立即声明为正确的值:
static var users: [UserProfile] = {
[
UserProfile(firstName: "aryan",lastName: "chordia",age: 21,password: "123",email: "aryanchordia@gmail.com"),UserProfile(firstName: "tyler",lastName: "duic",email: "tduic@andrew.cmu.edu"),]
}()