Pergunta

Estou desenvolvendo um aplicativo para iPhone, em que eu quero usar um arquivo .plist para salvar algumas variáveis ??de configuração.

Na minha xcode onde criar o arquivo .plist e como acessá-lo ???

obrigado,

Foi útil?

Solução

Você iria colocar na pasta de recursos. Em seguida, use algo como isto para carregá-lo:

NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];

Onde TwitterUsers é o nome do seu arquivo plist.

Se o seu arquivo plist contém chaves e valores que você faria a segunda linha um NSDictionary em vez de NSArray.

Outras dicas

Para armazenar o arquivo plist no seu diretório Documents você terá que incluir o arquivo plist no seu aplicativo e, em seguida, no primeiro lançamento copiá-lo para o diretório documentos.

Para ter acesso ao arquivo no diretório Documentos:

NSArray *paths = 
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                    NSUserDomainMask, YES); 
NSString *documentsPath = [paths objectAtIndex:0]; 

// <Application Home>/Documents/foo.plist 
NSString *fooPath = 
[documentsPath stringByAppendingPathComponent:@“foo.plist”];

Eu recomendaria mantendo-o no diretório de recursos no pacote do aplicativo, mas você pode simplesmente arrastá-lo para a janela do projeto. O método NSBundle pathForResource:ofType: deve dar-lhe um caminho, que você pode passar para NSDictionary de dictionaryWithContentsOfFile:.

Editar: Desculpe, exemplo de código completo (pensei que já tinha copiado e colado):

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];

Editar Apenas me ocorreu "variáveis ??de configuração" pode não ser imutável. Se for esse o caso, ignorar esta resposta.

Eu recomendo que você use NSUserDefaults para armazenar variáveis ??de configuração em vez de rolar o seu próprio sistema.

Se você está modificando um .plist dentro do seu pacote de aplicativos, você correrá o risco de invalidar a assinatura do pacote, enquanto não vai acabar bem.

Se você deve armazenar e modificar seu próprio .plist, armazená-lo no diretório Documents, que é também onde a sua aplicação deve armazenar qualquer coisa que ele baixa, cria, etc. Consulte Arquivo e Gestão de dados e NSFileManager .

Por padrão, se você tiver incluído o plist no lugar do projeto (em Recursos ou não) XCode irá copiá-lo para o pacote de aplicativos onde você pode obtê-lo com a chamada pathForResource acima mencionado. Apenas pensei em mencionar que, como você pode preferir um agrupamento onde você não tê-lo em recursos ...

Você pode encontrar o livro exemplo sqlite ..... o arquivo de dados silte foi save para o diretório 'Documento' .... você vai saber a prcess

  1. Por que isso invalida o pacote?

  2. Será que esse arquivo plist nos recursos pasta ser apoiados no iTunes como arquivos na pasta documentos?

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