пользовательский сеттер для двойного - PullRequest
0 голосов
/ 28 марта 2012

У меня есть следующее свойство:

@property (nonatomic, assign) double lastSynced;

and here's my custom setter:

-(void)setLastSynced:(double)newLastSynced
{
    if (lastSynced != newLastSynced){
        lastSynced = newLastSynced;
        [[NSUserDefaults standardUserDefaults] setDouble:lastSynced forKey:kSettingLastSyncedKey];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

Я не уверен, почему мой пользовательский установщик не вызывается при установке lastSynced?Я синтезировал его как

@ synthesized lastSynced.

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Очень плохо, что в синтезированном вы не пишете lastSynced = _lastSynced, когда вы создаете пользовательский установщик, потому что внутри установщика вы пытаетесь вызвать его.Попробуйте:

@synthesize lastSynced = _lastSynced

-(void)setLastSynced:(double)newLastSynced
{
         if (_lastSynced != newLastSynced)
    {
            _lastSynced = newLastSynced;
            [[NSUserDefaults standardUserDefaults] setDouble:_lastSynced  forKey:kSettingLastSyncedKey];
            [[NSUserDefaults standardUserDefaults] synchronize];
    }
}
0 голосов
/ 28 марта 2012

Вы пытались явно объявить свой сеттер?

@property (nonatomic, assign, setter=setLastSynched:) double lastSynced;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...