Search code examples
objective-ccocoabooleankey-value-observing

How to get notified when a user default changed?


I have a user default called showSqliteSequenceTable and this can be changed with a checkbox. I use this as follows, in a method called -[SKDatabase reloadTables]:

const char *tablesQuery = [[NSUserDefaults standardUserDefaults] boolForKey:@"showSqliteSequenceTable"] ? "SELECT name FROM sqlite_master WHERE type='table'" : "SELECT name FROM sqlite_master WHERE type='table' AND NOT name='sqlite_sequence'";

What way can I get the -[SKDatabase reloadTables] message sent to every SKDatabase object in memory, or how can I make SKDatabase observe a user default? Thanks.


Solution

  • Use NSNotificationCenter to register for NSUserDefaultsDidChangeNotification.