Quickstarters
CRUD Samples
Como criar um app CRUD para iOS com Objective-C?
27 min
visão geral neste guia, você descobrirá como criar um aplicativo crud simples (criar, ler, atualizar, excluir) para ios usando objective c utilizaremos o back4app como o backend para gerenciar seus dados, garantindo uma integração suave de um backend com seu aplicativo ios este guia cobre tudo, desde a configuração de um projeto back4app até a implementação de operações crud essenciais usando o sdk parse para ios inicialmente, você configurará um projeto back4app intitulado basic crud app ios este projeto servirá como seu repositório de dados e permitirá que você projete um modelo de dados flexível com classes como itens e usuários você pode definir essas classes manualmente no painel do back4app ou aproveitar o agente de ia integrado para agilizar o processo após configurar seu backend, você o integrará ao seu aplicativo ios em objective c o tutorial inclui exemplos de código para inicializar o sdk parse, realizar operações crud e implementar autenticação de usuário segura ao final deste tutorial, você terá construído um aplicativo ios pronto para produção que realiza funções crud fundamentais junto com gerenciamento seguro de usuários conceitos chave aprenda a desenvolver um aplicativo crud para ios usando objective c com um backend robusto entenda como projetar e integrar um backend escalável usando back4app utilize o admin app do back4app para uma gestão de dados eficiente implemente o manuseio seguro de dados com acls e autenticação de usuários usando o parse ios sdk pré requisitos antes de começar, certifique se de que você tem uma conta back4app com um projeto ativo precisa de ajuda? consulte introdução ao back4app https //www back4app com/docs/get started/new parse app xcode instalado com um ambiente de desenvolvimento ios configurado este tutorial assume familiaridade com objective c e desenvolvimento ios compreensão básica de programação orientada a objetos e apis rest reveja a documentação do objective c https //developer apple com/library/archive/documentation/cocoa/conceptual/programmingwithobjectivec/introduction/introduction html se necessário passo 1 – inicialização do projeto criando seu projeto back4app faça login na sua conta back4app clique no botão “novo app” no seu painel nomeie seu projeto basic crud app ios e siga as instruções na tela para completar a configuração criar novo projeto uma vez criado, seu projeto aparece no painel, servindo como a espinha dorsal para o gerenciamento de dados do seu app passo 2 – elaborando o modelo de dados configurando suas estruturas de dados para este app crud ios, você precisa definir classes principais em seu projeto back4app abaixo estão as classes primárias e seus campos 1\ classe de itens esta classe armazena detalhes sobre cada item campo tipo de dados propósito id objectid identificador único gerado automaticamente título string o nome do item descrição string um breve resumo do item criadoem data timestamp quando o item foi criado atualizadoem data timestamp da última atualização 2\ classe de usuários esta classe gerencia as credenciais e a autenticação dos usuários campo tipo de dados propósito id objectid identificador gerado automaticamente nome de usuário string nome de usuário único para o usuário email string endereço de e mail único do usuário hashdasenha string senha do usuário armazenada com segurança criadoem data timestamp de criação da conta atualizadoem data timestamp da última modificação você pode configurar essas classes através do painel do back4app criar nova classe você adiciona campos selecionando o tipo de dado, nomeando o campo, atribuindo valores padrão e marcando campos obrigatórios criar coluna usando o agente de ia do back4app para design de esquema o agente de ia integrado pode construir automaticamente seu esquema de dados com base na sua descrição este recurso simplifica o processo de configuração e garante que seu modelo de dados atenda aos requisitos do aplicativo como usar o agente de ia acesse o agente de ia abra seu painel do back4app e navegue até o agente de ia nas configurações do seu projeto detalhe seu modelo de dados digite um prompt descrevendo as classes e campos necessários revise e confirme uma vez que a ia gera uma proposta de esquema, revise a e confirme para aplicar as alterações exemplo de prompt create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) este método economiza tempo e garante consistência na sua estrutura de dados passo 3 – habilitando o aplicativo admin e gerenciando dados visão geral do aplicativo admin o aplicativo admin do back4app fornece uma interface amigável, sem código, para gerenciar seus dados de backend seus recursos de arrastar e soltar permitem que você crie, visualize, modifique e exclua registros facilmente ativando o aplicativo admin vá para o menu “mais” no seu painel do back4app selecione “aplicativo admin” e clique em “ativar aplicativo admin ” estabeleça sua conta de administrador configurando as credenciais iniciais, que também configuram funções do sistema como b4aadminuser ativar aplicativo admin após a ativação, faça login no aplicativo admin para gerenciar seus dados de forma eficiente painel do aplicativo admin gerenciando operações crud via o aplicativo admin dentro do aplicativo admin, você pode adicionar registros clique em “adicionar registro” dentro de uma classe (por exemplo, itens) para inserir novos dados editar registros selecione qualquer registro para visualizar ou atualizar seus campos excluir registros remova entradas que não são mais necessárias esta interface simplificada torna as tarefas de gerenciamento de dados significativamente mais fáceis passo 4 – conectando seu aplicativo ios com back4app com o backend configurado, o próximo passo é integrar seu aplicativo ios com o back4app usando o parse ios sdk opção a utilizando o sdk parse ios em objective c inclua o sdk do parse adicione o framework do parse ao seu projeto xcode você pode usar cocoapods adicionando o seguinte ao seu podfile pod 'parse' inicialize o parse no seu appdelegate abra o seu appdelegate m e adicione o código de inicialização no application\ didfinishlaunchingwithoptions método // appdelegate m \#import \<parse/parse h> \ (bool)application (uiapplication )application didfinishlaunchingwithoptions (nsdictionary )launchoptions { \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"your application id"; configuration clientkey = @"your ios key"; configuration server = @"https //parseapi back4app com"; }]]; return yes; } implemente métodos crud em objective c crie uma classe de serviço, por exemplo, itemsservice m , para lidar com operações crud // itemsservice m \#import "itemsservice h" \#import \<parse/parse h> @implementation itemsservice \ (void)createitemwithtitle (nsstring )title description (nsstring )description { pfobject item = \[pfobject objectwithclassname @"items"]; item\[@"title"] = title; item\[@"description"] = description; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item created successfully "); } else { nslog(@"error creating item %@", error localizeddescription); } }]; } \ (void)fetchitemswithcompletion (void (^)(nsarray items, nserror error))completion { pfquery query = \[pfquery querywithclassname @"items"]; \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { completion(objects, error); }]; } \ (void)updateitemwithobjectid (nsstring )objectid newtitle (nsstring )newtitle newdescription (nsstring )newdescription { pfquery query = \[pfquery querywithclassname @"items"]; \[query getobjectinbackgroundwithid\ objectid block ^(pfobject item, nserror error) { if (item) { item\[@"title"] = newtitle; item\[@"description"] = newdescription; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item updated successfully "); } else { nslog(@"error updating item %@", error localizeddescription); } }]; } else { nslog(@"error fetching item %@", error localizeddescription); } }]; } \ (void)deleteitemwithobjectid (nsstring )objectid { pfquery query = \[pfquery querywithclassname @"items"]; \[query getobjectinbackgroundwithid\ objectid block ^(pfobject item, nserror error) { if (item) { \[item deleteinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"item deleted successfully "); } else { nslog(@"error deleting item %@", error localizeddescription); } }]; } else { nslog(@"error fetching item %@", error localizeddescription); } }]; } @end opção b empregando rest ou graphql se você preferir não usar o parse sdk, pode interagir com o back4app através de chamadas de api restful por exemplo, para recuperar itens via rest \#import \<foundation/foundation h> @interface restclient nsobject \+ (void)fetchitems; @end @implementation restclient \+ (void)fetchitems { nsurl url = \[nsurl urlwithstring @"https //parseapi back4app com/classes/items"]; nsmutableurlrequest request = \[nsmutableurlrequest requestwithurl\ url]; \[request sethttpmethod @"get"]; \[request setvalue @"your application id" forhttpheaderfield @"x parse application id"]; \[request setvalue @"your rest api key" forhttpheaderfield @"x parse rest api key"]; nsurlsessiondatatask datatask = \[\[nsurlsession sharedsession] datataskwithrequest\ request completionhandler ^(nsdata data, nsurlresponse response, nserror error) { if (error) { nslog(@"error fetching items %@", error localizeddescription); } else { nsstring result = \[\[nsstring alloc] initwithdata\ data encoding\ nsutf8stringencoding]; nslog(@"response %@", result); } }]; \[datatask resume]; } @end escolha a abordagem que melhor se adapta às necessidades do seu projeto passo 5 – protegendo seu backend configurando listas de controle de acesso (acls) para proteger seus dados, configure acls para seus objetos por exemplo, para criar um item visível apenas para seu proprietário \#import \<parse/parse h> \ (void)createprivateitemwithtitle (nsstring )title description (nsstring )description owner (pfuser )owner { pfobject item = \[pfobject objectwithclassname @"items"]; item\[@"title"] = title; item\[@"description"] = description; pfacl acl = \[pfacl aclwithuser\ owner]; \[acl setpublicreadaccess\ no]; \[acl setpublicwriteaccess\ no]; item acl = acl; \[item saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"private item created "); } else { nslog(@"error saving item %@", error localizeddescription); } }]; } configurando permissões em nível de classe (clps) use o painel do back4app para ajustar os clps, garantindo que apenas usuários autenticados possam acessar certas classes por padrão passo 6 – implementando autenticação de usuário gerenciando contas de usuário o back4app utiliza a classe nativa de usuário do parse para gerenciar a autenticação de usuários em seu aplicativo ios, você pode implementar registro e login da seguinte forma \#import \<parse/parse h> @interface authservice nsobject \+ (void)signupwithusername (nsstring )username password (nsstring )password email (nsstring )email; \+ (void)loginwithusername (nsstring )username password (nsstring )password; @end @implementation authservice \+ (void)signupwithusername (nsstring )username password (nsstring )password email (nsstring )email { pfuser user = \[pfuser user]; user username = username; user password = password; user email = email; \[user signupinbackgroundwithblock ^(bool succeeded, nserror error) { if (succeeded) { nslog(@"user successfully registered!"); } else { nslog(@"sign up error %@", error localizeddescription); } }]; } \+ (void)loginwithusername (nsstring )username password (nsstring )password { \[pfuser loginwithusernameinbackground\ username password\ password block ^(pfuser user, nserror error) { if (user) { nslog(@"user logged in %@", user username); } else { nslog(@"login failed %@", error localizeddescription); } }]; } @end essa abordagem também se estende à gestão de sessões, redefinições de senha e recursos adicionais de autenticação passo 7 – conclusão e direções futuras parabéns! você construiu com sucesso um aplicativo crud para ios usando objective c, totalmente integrado ao back4app ao longo deste guia, você configurou um projeto chamado basic crud app ios , projetou classes principais para itens e usuários, e gerenciou seu backend usando o admin app além disso, você conectou seu aplicativo usando o sdk ios do parse, implementou operações crud e protegeu seus dados com acls próximos passos expanda o aplicativo incorpore recursos adicionais como busca avançada, visualizações detalhadas de itens ou atualizações em tempo real aprimore as capacidades do backend explore funções em nuvem, integre apis de terceiros ou refine o controle de acesso baseado em funções aprofunde seu conhecimento visite a documentação do back4app https //www back4app com/docs para mais insights e tutoriais feliz codificação e boa sorte com seu projeto crud para ios!