Como usar arquivos para salvar dados para ios
Em aplicações iOS, ficheiros são utilizados como os meios de armazenamento e de restaurar o estado de um jogo activo. Caso você tenha feito qualquer tipo de programação em qualquer linguagem (C, C ++, Java, C #, o nome dele), você já usou arquivos para ler dados de e gravar dados. Objective-C permite que você trabalhe com arquivos como wellFiles em iOS são organizados em diretórios.
Conteúdo
- Video: transfência de arquivos via wifi - android / ios
- Video: como salvar/recuperar as fotos/notas/contatos do iphone/ipod/ipad automaticamente nas nuvens(icloud)
- Video: como transferir tudo do iphone para samsung galaxy s7
- Video: como salvar/recuperar as fotos/notas/contatos do iphone/ipod/ipad automaticamente - video refeito
Cada aplicativo recebe o seu próprio diretório onde o aplicativo reside e seus dados podem ser armazenados. Este diretório é conhecido como o aplicativo de caixa de areia.
Video: Transfência de arquivos via WiFi - Android / iOS
Um aplicativo está proibido de acessar ou criar arquivos fora da sua caixa de areia. Quando um aplicativo precisa trabalhar com contatos ou música do usuário, o sistema precisa (e faz) permitir que as operações relacionadas a arquivos necessários para ler ou modificar esses armazenamentos de dados, que estão fora sandbox do aplicativo.
Este diretório sandbox é organizado em um conjunto de subdiretórios. A Apple especifica como cada um desses subdiretórios deve ser usado, como segue:
o lt;nome do aplicativogt; diretório .app é onde o aplicativo do executável e todos os arquivos em sua reside pacote (como o X e imagens S para Tic-Tac-Toe).
Video: Como salvar/recuperar as Fotos/Notas/Contatos do iPhone/iPod/iPad automaticamente nas nuvens(iCloud)
O diretório Documentos contém dados que a sua aplicação não pode recriar, como documentos gerados pelo usuário ou conteúdo. Este é o diretório onde o aplicativo Tic-Tac-Toe salva jogos, mantém seus arquivos SQLite, e assim por diante. iTunes faz o backup este diretório, então quando você conectar o dispositivo ao Mac, os dados aqui serão salvos.
O diretório Caixa de entrada dentro do diretório Documents tem um significado especial. Este diretório armazena arquivos que de outros Aplicativos pedir a sua aplicação para a abrir. Por exemplo, o programa de correio coloca anexos de e-mail associado à sua aplicação neste diretório. Seu aplicativo pode ler e apagar arquivos nesse diretório, mas não pode criar novos arquivos ou gravar arquivos existentes.
O diretório Biblioteca é usado para arquivos que não são arquivos de dados do usuário, mas precisam de ser apoiados. Com a exceção de um subdiretório chamado caches (que é especificamente para os dados do aplicativo quer temporariamente para poupar para um acesso mais rápido), os arquivos aqui são apoiados por iTunes.
O subdiretório tmp salva os dados temporários que não precisam persistem entre as execuções de aplicativos. Seu aplicativo deve remover arquivos deste diretório quando eles não são mais necessários. O sistema também pode limpar arquivos remanescentes a partir deste diretório quando o seu aplicativo não está em execução ou espaço em disco é baixa. O conteúdo deste diretório são não backup.
Video: Como Transferir TUDO do IPHONE para Samsung Galaxy S7
Agora, olhe para um exemplo rápido em Tic-Tac-Toe que mostra como escrever e ler arquivos. Neste exemplo, usar um arquivo para salvar e restaurar o estado de um jogo.
Video: Como salvar/recuperar as Fotos/Notas/Contatos do iPhone/iPod/iPad automaticamente - Video refeito
Quando um usuário toca Salvar jogo, o estado atual do jogo é salvo em um arquivo chamado SavedGames.data no diretório de documentos na caixa de areia do aplicativo (o caminho para esse arquivo foi criado usando # define como o TTTGAMESESSIONSAVEDFILEPATH constante no TTTGameSessionViewController arquivo. h).
Se o usuário sair sem terminar o jogo, ela pode voltar para a tela sessão do jogo e voltar para o jogo salvo, selecionando Restaurar jogo.
Agora, para alguns códigos. O código a seguir mostra SaveGame:
- (IBAction) SaveGame: (ID) remetente {NSDictionary * savedGameDictionary = [activeGame ToDictionary] -NSError * erro-NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionaryoptions: NSJSONWritingPrettyPrintederror:&erro] -NSString * savedGameString = [[NSString alloc] initWithdata: jsonDataencoding: NSUTF8StringEncoding] -NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH] - [savedGameString WriteToFile: savedGamesFilePathatomically: YESencoding: NSUTF8StringEncodingerror: NULL] -}
Escrevendo para um arquivo é fácil. Você acabou de construir o caminho do arquivo usando o stringByAppendingPathComponent método em um objeto que representa o diretório home do aplicativo (que você começa chamando a função NSHomeDirectory). Então [savedGameString WriteToFile: savedGamesFilePath ...] faz a escrita real.
Leitura de um arquivo é simples, também. Aqui está o código para restoreGame:
- (IBAction) restoreGame: (ID) remetente {NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH] -NSString * savedGameString = [NSString stringWithContentsOfFile: savedGamesFilePathencoding: NSUTF8StringEncodingerror: NULL] -NSError * restoreError = nil-NSMutableDictionary * savedDictionary = [ NSJSONSerialization JSONObjectWithdata: [savedGameStringdataUsingEncoding: NSUTF8StringEncoding] opções: NSJSONReadingMutableContainerserror:&restoreError] -activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary] -TTTGameGrid * gameGrid = [activeGame getGameGrid] -se [boardView disableInput] - [boardView setGrid ([activeGame isActive]!): gameGrid] - [Gameview redesenhar] -}
Você já viu como um caminho para o arquivo é criado usando a função NSHomeDirectory para obter o objeto de diretório para casa, e, em seguida, usando o método stringByAppendingPathComponent deste objeto para criar a string. Em seguida, você ler o arquivo inteiro em uma string usando [NSString stringWithContentsOfFile: savedGamesFilePath ...], e então você está livre para processar a cadeia, conforme necessário.