如何解决如何解决错误:xcode12 和 swiftui 中的“无法在不可变值上使用变异成员:‘users’是仅获取属性”
当我尝试附加到我的配置文件模型中的一个数组时,出现上述错误。
这是我的个人资料模型代码:
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"),]
}()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。