Интересно, есть ли способ наблюдать одноплодный класс для изменений в онах его имуществаSwift 3: наблюдатель недвижимости одноточечна
В моем случае, с Realm у меня есть что-то вроде этого
class User: Object {
dynamic var name:String = ""
dynamic var email:String = ""
dynamic var id:String = ""
dynamic var picURL:String = ""
dynamic var pic:Data = Data()
static let currentUser = User()
{
didSet
{
try! realm.write {
realm.add(currentUser, update: true)
}
}
}
}
Что Я хочу добиться того, что хочу иметь только один пользовательский объект в своем приложении, и в любое время, когда какое-либо его свойство будет изменено, я хотел бы сохранить его в Realm.
Однако приведенный выше пример показывает, что ошибка
'давайте декларации не могут быть наблюдения свойств
Как бы подойти к нему? Считаете ли вы, что моя идея с использованием объекта Realm Singleton и его обновления в любое время с некоторыми изменениями свойств - хорошая идея?
Интересно, действительно ли имеет смысл иметь одноэлементный объект класса, который сохраняется в Realm.
Неясно, что вы хотите достичь: Либо можно изменить 'currentUser', то это должно быть' var', а не 'let' Или нельзя изменить 'currentUser' (так как теперь это константа' let'), но в этом случае вам не понадобится прослушиватель при настройке. –
@AndreasOetjen Не могли бы вы указать, какая часть моего объяснения непонятна? – DCDC
@AndreasOetjen Обратите внимание, что если я изменю его на var, он больше не будет singleton – DCDC