Pergunta

Meu aplicativo para iPhone possui poucas configurações que os usuários provavelmente mudarão com bastante frequência. Gostaria de saber se há alguma maneira sugerida de lidar com essas configurações (lendo e salvando -as). Nos sites da Apple, encontrei apenas um tutorial sobre a integração do aplicativo de aplicativo com o aplicativo de configurações (link) Mas não quero que um usuário saia do meu aplicativo para que ele possa alterar a opção.

Existe algum mecanismo padrão para lidar com essas configurações no próprio aplicativo ou tenho que implementar uma solução própria?

Foi útil?

Solução

A melhor e mais fácil maneira de armazenar configurações no iPhone é através NSUserDefaults. Limpa você de lidar com o sistema de arquivos ou as plistas ou qualquer uma dessas outras coisas.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *storedVal = @"This is what you want to save";
NSString *key = @"storedVal"; // the key for the data

[defaults setObject:storedVal forKey:key];
[defaults synchronize]; // this method is optional


// Get the results out
NSString *results = [defaults stringForKey:key];

Aqui está o que a Apple diz nos tipos de objetos que você pode armazenar nos padrões

Um objeto padrão deve ser uma lista de propriedades, ou seja, uma instância de (ou para coleções uma combinação de instâncias de): nsdata, nsstring, nsnumber, nsdate, nsarray ou nsdictionary. Se você deseja armazenar qualquer outro tipo de objeto, normalmente deve arquivá -lo para criar uma instância do NSDATA.

Existem mais algumas advertências, como se você armazenar um nsdictionary, os valores -chave devem ser strings.

Outras dicas

Se você está procurando uma interface do usuário para editar as configurações de dentro do aplicativo, consulte o InAppSettingSkit em http://www.inappsettingskit.com

Leia o Guia de arquivo e rede Da conexão do desenvolvedor do iPhone. Ele explicará como você obtém o caminho para os diferentes locais predefinidos na caixa de areia do aplicativo. Eu recomendo que você use um nsdictionary para armazenar suas preferências, que podem ser facilmente salvas no sistema de arquivos e convertidas em uma plista.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top