I want to do like below with settar and getter:
- if a variable already on memory, return it.
- if a variable isn't load, load and return it.
Can you write it simply?
// Error code
class Person : NSObject {
let personId : String
init(personId: String) {
self.personId = personId
}
public var name : String? {
// The key is not static. It is decided dynamically.
let keyName = "name-" + self.personId
get {
// If `name` exists, return it.
if name != nil { return name }
// Else load from `UserDefaults`
return UserDefaults.standard.string(forKey: keyName)
}
set {
name = UserDefaults.standard.set(newValue, forKey: keyName)
}
}
}