Quickstarters
CRUD Samples
Como desenvolver um app CRUD para iOS usando Swift?
28 min
visão geral este guia o ajudará a construir uma aplicação crud simples (criar, ler, atualizar, deletar) para ios usando o back4app como seu backend em nuvem, você aprenderá a configurar seu projeto, projetar um modelo de dados flexível e implementar a funcionalidade crud com swift este tutorial demonstra como integrar seu aplicativo ios com o back4app, aproveitando o sdk ios do parse ou chamadas de api rest, garantindo uma gestão de dados suave e autenticação segura inicialmente, você configurará um projeto back4app—chamado basic crud app ios —que fornece um banco de dados escalável e não relacional para seu aplicativo você definirá suas estruturas de dados criando classes e campos manualmente ou usando o agente de ia do back4app em seguida, você explorará como gerenciar seu backend usando o intuitivo back4app admin app, uma ferramenta de arrastar e soltar projetada para simplificar a manipulação de dados finalmente, você conectará seu aplicativo ios com o backend, usando o sdk ios do parse (quando aplicável) ou chamadas de api rest/graphql, e incorporará autenticação de usuário segura ao final deste guia, você terá construído um aplicativo ios pronto para produção que realiza operações crud essenciais, incluindo login seguro de usuário e manipulação de dados principais insights aprenda a criar uma aplicação crud para ios com um backend eficiente entenda como arquitetar um backend escalável e conectá lo perfeitamente a um aplicativo ios descubra como usar o back4app admin app para criação, recuperação, modificação e exclusão de dados simplificadas explore opções para implantação em contêiner e melhorias adicionais para seu projeto ios pré requisitos antes de começar, certifique se de que você tem uma conta back4app com um projeto ativo precisa de ajuda? veja introdução ao back4app https //www back4app com/docs/get started/new parse app uma configuração de desenvolvimento ios use o xcode (versão 12 ou posterior) e certifique se de que seu ambiente de desenvolvimento está atualizado uma compreensão sólida de swift, programação orientada a objetos e fundamentos de rest api consulte a documentação do swift https //developer apple com/swift/ para mais detalhes passo 1 – configurando seu projeto criando um novo 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 concluir a configuração criar novo projeto após a criação do projeto, ele aparecerá no seu painel, estabelecendo a base para a configuração do seu backend passo 2 – elaborando seu modelo de dados definindo suas estruturas de dados para este aplicativo crud ios, você estabelecerá várias classes (coleções) em seu projeto back4app abaixo estão as classes principais e seus campos necessários para suportar suas operações crud 1\ classe itens esta classe armazenará informações sobre cada item campo tipo de dados descrição id objectid identificador único gerado automaticamente título string o nome ou título do item descrição string um breve resumo ou detalhes sobre o item criadoem data timestamp que marca quando o item foi criado atualizadoem data timestamp que marca a última atualização do item 2\ classe de usuários esta classe gerencia as credenciais do usuário e os dados de autenticação campo tipo de dados descrição id objectid identificador único gerado automaticamente nome de usuário string identificador único para o usuário email string endereço de e mail único do usuário hashdasenha string senha criptografada para autenticação segura criadoem data timestamp de quando a conta foi criada atualizadoem data timestamp da última atualização da conta você pode definir essas classes e campos diretamente no painel do back4app criar nova classe você pode adicionar colunas selecionando um tipo de dado, nomeando o campo, definindo um valor padrão e marcando como obrigatório, se necessário criar coluna utilizando o agente de ia do back4app para configuração de esquema o agente de ia integrado no seu painel pode gerar automaticamente seu esquema de dados a partir de uma descrição isso ajuda a simplificar a configuração e garante que seu modelo de dados suporte todas as operações crud necessárias como usar o agente de ia abra o agente de ia acesse o através das configurações do seu projeto no painel do back4app descreva seu modelo de dados forneça um prompt abrangente detalhando as classes e seus respectivos campos revise e implemente examine o esquema proposto e confirme para aplicar a configuração 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) essa abordagem impulsionada por ia economiza tempo e garante uma estrutura de dados consistente e otimizada para seu aplicativo ios passo 3 – lançando o aplicativo admin e gerenciando operações crud visão geral do aplicativo admin o aplicativo admin do back4app fornece uma interface sem código para gerenciar eficientemente seus dados de backend seus recursos amigáveis de arrastar e soltar simplificam o processo de criar, ler, atualizar e excluir registros habilitando o aplicativo admin vá para a seção “mais” no seu painel do back4app selecione “aplicativo admin” e clique “habilitar aplicativo admin ” configure suas credenciais de admin criando a conta de admin inicial, que também estabelecerá funções do sistema (como b4aadminuser ) habilitar aplicativo admin após a ativação, faça login no aplicativo admin para gerenciar seus dados painel do aplicativo admin gerenciando dados com o aplicativo admin dentro do aplicativo admin você pode inserir registros use o recurso “adicionar registro” dentro de qualquer classe (por exemplo, itens) para introduzir novas entradas revisar/editar registros selecione um registro para ver seus detalhes ou modificar seus campos remover registros exclua entradas que não são mais necessárias esta interface intuitiva simplifica a gestão de backend e aumenta a produtividade passo 4 – conectando seu app ios com back4app com seu backend pronto, o próximo passo é vincular seu aplicativo ios ao back4app opção a utilizando o sdk ios do parse instale o sdk ios do parse você pode integrar o sdk usando o swift package manager ou cocoapods para cocoapods, adicione o seguinte ao seu podfile pod 'parse' inicialize o parse em seu app no seu appdelegate, configure o parse inserindo o seguinte código // appdelegate swift import uikit import parse @uiapplicationmain class appdelegate uiresponder, uiapplicationdelegate { func application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplication launchoptionskey any]?) > bool { let configuration = parseclientconfiguration { $0 applicationid = "your application id" $0 clientkey = "your ios key" // replace with your ios key $0 server = "https //parseapi back4app com" } parse initialize(with configuration) return true } // } implementar operações crud crie uma classe de serviço em swift para gerenciar suas operações de dados por exemplo, um serviço para buscar e exibir itens // itemsservice swift import foundation import parse class itemsservice { func fetchitems(completion @escaping (\[pfobject]?) > void) { let query = pfquery(classname "items") query findobjectsinbackground { (objects, error) in if let error = error { print("error retrieving items \\(error localizeddescription)") completion(nil) } else { completion(objects) } } } func additem(title string, description string) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description item saveinbackground { (success, error) in if success { print("item successfully created ") } else if let error = error { print("creation error \\(error localizeddescription)") } } } func modifyitem(objectid string, newtitle string, newdescription string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item\["title"] = newtitle item\["description"] = newdescription item saveinbackground { (success, error) in if success { print("item updated ") } else if let error = error { print("update error \\(error localizeddescription)") } } } else if let error = error { print("error finding item \\(error localizeddescription)") } } } func removeitem(objectid string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item deleteinbackground { (success, error) in if success { print("item deleted ") } else if let error = error { print("deletion error \\(error localizeddescription)") } } } else if let error = error { print("error locating item \\(error localizeddescription)") } } } } opção b usando rest ou graphql se o sdk ios do parse não atender às suas necessidades, você pode executar operações crud por meio de chamadas rest por exemplo, para buscar itens usando rest em swift import foundation class restclient { func retrieveitems() { guard let url = url(string "https //parseapi back4app com/classes/items") else { return } var request = urlrequest(url url) request httpmethod = "get" request addvalue("your application id", forhttpheaderfield "x parse application id") request addvalue("your rest api key", forhttpheaderfield "x parse rest api key") urlsession shared datatask(with request) { data, response, error in if let error = error { print("error fetching items \\(error localizeddescription)") return } guard let data = data else { return } if let json = try? jsonserialization jsonobject(with data, options \[]) { print("fetched items \\(json)") } } resume() } } integre esses métodos de api em suas classes swift conforme necessário passo 5 – protegendo seu backend configurando listas de controle de acesso (acls) proteja seus dados configurando acls por exemplo, para criar um item que apenas seu proprietário pode acessar import parse func createprivateitem(title string, description string, owner pfuser) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description let acl = pfacl() acl setreadaccess(true, for owner) acl setwriteaccess(true, for owner) acl publicreadaccess = false acl publicwriteaccess = false item acl = acl item saveinbackground { (success, error) in if success { print("private item successfully created ") } else if let error = error { print("error saving item \\(error localizeddescription)") } } } permissões de nível de classe (clps) dentro do painel do back4app, ajuste os clps para suas classes para impor medidas de segurança padrão isso garante que apenas usuários autenticados ou funções designadas tenham acesso a dados específicos passo 6 – implementando autenticação de usuário configurando contas de usuário o back4app utiliza a classe de usuário parse embutida para gerenciar a autenticação em seu aplicativo ios, gerencie o registro e login de usuários como ilustrado abaixo import parse class authservice { func registeruser(username string, password string, email string) { let user = pfuser() user username = username user password = password user email = email user signupinbackground { (succeeded, error) in if succeeded { print("user registered successfully!") } else if let error = error { print("registration failed \\(error localizeddescription)") } } } func loginuser(username string, password string) { pfuser loginwithusername(inbackground username, password password) { (user, error) in if let user = user { print("logged in as \\(user username ?? "unknown")") } else if let error = error { print("login error \\(error localizeddescription)") } } } } uma abordagem semelhante pode ser implementada para gerenciar sessões, redefinições de senha e outros recursos de autenticação passo 7 – conclusão e melhorias futuras parabéns! você construiu com sucesso um aplicativo crud baseado em ios que se integra ao back4app você configurou um projeto chamado basic crud app ios , projetou as classes itens e usuários, e gerenciou seus dados usando o back4app admin app além disso, você conectou seu aplicativo ios através do parse sdk (ou via rest/graphql) e implementou medidas de segurança essenciais próximos passos expanda o aplicativo considere adicionar recursos como filtragem avançada, visualizações detalhadas de itens ou atualizações em tempo real aprimore as capacidades do backend experimente com funções em nuvem, integrações de api de terceiros ou controle de acesso baseado em funções mais granular aprofunde seu conhecimento visite a documentação do back4app https //www back4app com/docs e explore tutoriais adicionais para otimizar ainda mais seu aplicativo feliz codificação e melhores desejos em sua jornada para construir aplicativos ios robustos!