Liberte seu desenvolvedor de aplicativos internos Parte 22: Criando e salvando entidades

Você tem uma ideia para um aplicativo, mas não tem o conhecimento de programação para começar a construí-lo? Nesta série semanal de blogs, mostrarei a você, que não é programador, passo a passo o processo de criação de aplicativos para iPhone, iPod touch e iPad. Junte-se a mim a cada semana nesta aventura, e você experimentará como pode ser divertido transformar suas ideias em realidade! Esta é a parte 22 da série. Se você está apenas começando, confira o inicio da serie aqui . ( Esta postagem foi atualizada para Swift 1.2, Xcode 6.4 e iOS 8 ).

Nas últimas postagens desta série, você aprendeu muito sobre como recuperar entidades de um banco de dados usando Core Data e exibir os resultados em uma visualização de tabela. Agora que temos, temos todas as outras funcionalidades trabalhando no Escrever análise cena de Revisão do iApps , é hora de aprender como salvar um Revisar Entidade usando os dados principais!



Para trabalhar com as etapas deste post, você pode usar o Revisão do iApps projeto que você criou até agora. Se você precisar de uma nova cópia do projeto, você pode baixá-lo em esse link .

Salvando Entidades

Como mencionei no passado, é fácil salvar entidades em um banco de dados, especialmente quando você está usando o mmBusinessController classe wrapper. Vamos dar uma olhada nesta classe para saber mais sobre como as entidades são salvas.

  1. Abra o Revisão do iApps projeto em Xcode.
  1. Vá para o Project Navigator, expanda o Camada de Negócios grupo e, em seguida, clique no botão mmBusinessObject.swift arquivo para abri-lo no Editor de Código.
  1. Vamos encontrar o salvarEntidades método. Quando você tem um arquivo de código grande com muitos métodos, a maneira mais fácil de fazer isso é usar a barra de salto na parte superior do Editor de código. Como mostrado em figura 1 , clique na última seção da barra de salto.
  Barra de salto
Figura 1 - Clique na última seção da barra de salto.
  1. Na lista pop-up que aparece quando você clica na barra de salto, selecione salvarEntidades como mostrado em Figura 2 .
  Barra de salto pop-up
Figura 2 - A lista pop-up da barra de salto

Selecionar este método na lista popup leva você ao local no arquivo de código onde o método está localizado conforme mostrado em Figura 3 .

  o método saveEntities
Figura 3 - A salvarEntidades método

Vamos dar uma olhada mais de perto neste código. A primeira linha de código declara algumas variáveis ​​locais. A próxima linha de código obtém uma referência ao contexto de objeto do controlador de negócios. Como você aprendeu em um post anterior, o contexto do objeto acompanha todas as entidades que são recuperadas do banco de dados, bem como quaisquer entidades recém-criadas. Ele rastreia todas as alterações feitas nessas entidades e pode salvar todas as alterações nas entidades no banco de dados em um dispositivo iOS.

A próxima linha de código é mostrada em Figura 4 .

  A instrução if
Figura 4 - As principais mensagens passadas para o contexto do objeto para salvar as entidades

Este código chama primeiro o temAlterações método no contexto do objeto. Se este método retornar falso , o salvamento é abortado (porque em Swift, o && operador não avalia a condição do lado direito se a condição do lado esquerdo for falsa.)

Se o temAlterações método retorna verdadeiro , então o Salve : é chamado no contexto do objeto. Isso faz com que o contexto do objeto salve as alterações em todos os objetos de entidade novos e editados.

Como um aparte, você pode estar se perguntando sobre o e comercial ( & ) na frente do erro parâmetro. Normalmente em Swift, o valor de um argumento é passado em um método. No entanto, se você iniciar o argumento com um e comercial, um ponteiro para o argumento é passado. É passado desta forma para que o Salve : método pode modificar o valor do erro argumento e o novo valor está disponível para o método de chamada.

Se o método retornar false, o primeiro conjunto de código entre chaves será executado. As informações de erro são armazenadas no Estado salvo e salvarMensagem variáveis ​​e esses valores são retornados ao chamador. Se tudo correr bem e o Salve : método retorna verdadeiro , o método define os valores do Estado salvo e salvarMensagem variável que indica que o salvamento foi concluído com êxito e, em seguida, retorna esses valores para o chamador.

Criando uma nova entidade

No Escrever análise cena do Revisão do iApps app, temos que realizar os seguintes passos quando o usuário clica no Publicar botão:

  1. Crie um novo Revisar Entidade objeto.
  2. Obtenha os valores dos controles da interface do usuário 2 armazene-os nas propriedades do Revisar Entidade objeto.
  3. Salve o Revisar Entidade objeto.
  4. Publique a revisão na web (chegaremos a isso mais tarde nesta série).

o mmBusinessObject classe tem um criarEntidade método que podemos usar para criar um novo Revisar Entidade objeto. Vamos dar uma olhada nos bastidores desse método.

Clique no segmento mais à direita na barra de salto do Editor de código e selecione criarEntidade da lista ( Figura 5 ).

  Barra de salto pop-up 2
Figura 5 - Selecione o criarEntidade método.

Agora você deve ver o criarEntidade código do método mostrado em Figura 6 (Eu quebrei o código em três linhas separadas para facilitar a leitura.)

  método createEntity
Figura 6 - A criarEntidade código do método

O código neste método chama o insertNewObjectForEntityForName:inManagedObjectContext: método no Descrição da NSEntidade classe. Este método aceita dois parâmetros. O primeiro é o nome da classe de entidade (nós apenas pegamos isso do objeto do controlador de negócios) e uma referência ao contexto do objeto (que também pegamos do controlador de negócios). Um objeto do tipo T é retornado desse método e é simplesmente retornado do criarEntidade método. Neste exemplo de código, T é um espaço reservado genérico para um tipo mais específico de objeto de entidade. Falaremos mais sobre genéricos mais adiante nesta série!

Na terminologia orientada a objetos, chamamos isso de fábrica método porque fabrica ou cria objetos.

O código neste método é o código Core Data padrão, padronizado. Eu quero imprimir este fato em você para que você saiba que quando você usa o mmBusinessObject class, você está realmente usando o código Core Data padrão.

Implementando o Novo e Salvar Código

Agora que você entende o básico de como criar e salvar entidades, vamos implementar este código no Revisão do iApps projeto.

  1. No Project Navigator, selecione o WriteReviewViewController.swift arquivo para exibi-lo no Editor de código.
  2. Use a barra de salto do Editor de código para selecionar o pósRevisão: método.
  3. Você deve ver o pósRevisão: código do método mostrado em Figura 7 .
  método postReview
Figura 7 - A pósRevisão: código do método

Acontece que eu já implementei o código necessário para você! Ajustamos esse código no meu post anterior sem dar uma olhada muito de perto nele.

A primeira linha de código cria um novo Revisar Entidade objeto. As próximas várias linhas de código capturam valores dos vários controles da interface do usuário e armazenam nas propriedades do Revisar Entidade objeto. A seguir, o salvarEntidades método é chamado no Análise controlador de negócios, que salva a nova entidade no banco de dados. Finalmente, um popViewControllerAnimado: é chamado no controlador de navegação, o que faz com que o aplicativo navegue de volta para o Revisão do iApps cena.

Testando o código

Agora é hora de levar o código para um test drive.

  1. No Xcode, clique no botão Corre botão.
  2. Quando o aplicativo aparecer no Simulador, clique no botão Escreva uma crítica opção.
  3. No Escrever análise cena, selecione um Categoria do aplicativo e classificação, e insira um Nome do aplicativo , e comentários. Ao fazer isso, o Publicar botão deve ficar ativo como mostrado no exemplo em Figura 8 . Lembre-se que você pode clicar no fundo da cena para esconder o teclado!
  A cena Write Review no Simulador
Figura 8 - A Publicar botão está habilitado.
  1. Clique no Publicar botão. O código no pósRevisão: é executado conforme evidenciado pelo fato de que o aplicativo navega para a página principal Revisão do iApps cena.

Então, como você sabe se a revisão foi salva no banco de dados?

Sua tarefa de casa

Meu objetivo com esta série de blogs é ensiná-lo a escrever aplicativos por conta própria. Um teste real de sua habilidade é escrever algum código sem rodinhas. Pensando nisso, tenho um dever de casa para você.

o Minhas avaliações cena em Revisão do iApps destina-se a exibir os comentários que você salvou em seu dispositivo iOS. Atualmente, esta cena ainda é um protótipo, exibindo informações de revisão estática. Sua tarefa é converter Minhas avaliações para uma cena totalmente funcional que recupera as revisões do banco de dados e as exibe em uma visualização de tabela. Tudo o que você precisa saber sobre como recuperar e exibir entidades em uma visualização de tabela pode ser encontrado em esta postagem .

Depois de terminar com o Minhas avaliações cena, eu gostaria que você passasse para a Análise cena. Esta cena é exibida quando você toca em uma linha na Minhas avaliações visualização de tabela e exibe os detalhes da revisão. Para fazer isso funcionar, você vai ter que passar um Revisar Entidade objeto do Minhas avaliações cena para o Análise cena. Tudo o que você precisa saber sobre a passagem de dados entre controladores de exibição pode ser encontrado em esta postagem .

Você também pode ver o código no WriteReviewViewController e AppCategoryViewController arquivos de código para obter dicas sobre como concluir essas tarefas.

Conclusão

No meu próximo post vou dar a solução para a lição de casa deste post. Você descobrirá que trabalhar com esses problemas por conta própria o ajudará a aprender esses fundamentos da programação iOS e mostrará o que você realmente entende e onde precisa de um pouco mais de ajuda. Boa codificação!

< >

Crédito da imagem superior: Alexey Boldin / Shutterstock.com