Sexta-feira, 5 de Dezembro de 2008

Persistência de dados entre execuções em OpenStep

GNUstep OpenStep facilita a persistência de dados entre uma execução e outra do programa através da classe NSUserDefaults.

Para persistir dados para a próxima execução, basta criar um dicionário (NSDictionary) representando um hash dos dados a serem persistidos.

Digamos que o dicionário seja defaults e APP_NAME é uma string (NSString) representando o nome da aplicação:
[[NSUserDefaults standardUserDefaults]
setPersistentDomain: defaults
forName: APP_NAME
];


E para recuperar os dados persistidos da última execução:
NSDictionary *defaults = [
[NSUserDefaults standardUserDefaults]
persistentDomainForName: APP_NAME
];


Então defaults será um dicionário contendo os dados persistidos!

Simples assim. =)

Referência: GNUstep Base.

[]'s
Cacilhas, La Batalema

1 comentários:

La Batalema Pitonisto disse...

Uma forma de obter o nome da aplicação é usando o bundle principal.

Se você estiver usando OSX/Cocoa, pode usar (isso é uma linha só):

#define APP_NAME [[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleName"]

Em GNUstep isso não funciona, mas você pode fazer assim (também uma única linha):

#define APP_NAME [[[NSBundle mainBundle] infoDictionary] valueForKey: @"NSExecutable"]

[]'s
Cacilhas, La Batalema