{"id":2702,"date":"2020-07-28T15:32:00","date_gmt":"2020-07-28T18:32:00","guid":{"rendered":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/?p=2702"},"modified":"2025-09-02T14:03:39","modified_gmt":"2025-09-02T17:03:39","slug":"desenvolvimento-de-aplicativos-utilizando-swift","status":"publish","type":"post","link":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/2020\/07\/28\/desenvolvimento-de-aplicativos-utilizando-swift","title":{"rendered":"Desenvolvimento de aplicativos utilizando SWIFT"},"content":{"rendered":"\n<section id=\"h.29b0ae76f7c89a52_19\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c\">\n<div id=\"h.29b0ae76f7c89a52_10\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Ol\u00e1 pessoal, tudo bem? Desta vez o PET-Reda\u00e7\u00e3o abordar\u00e1 a linguagem Swift. Swift \u00e9 uma linguagem de programa\u00e7\u00e3o criada pela Apple para o desenvolvimento de aplicativos para Apple TV, Apple Watch, iOS e Mac que foi desenvolvida com o intuito de ser de f\u00e1cil uso, com c\u00f3digo aberto a todos que queiram cooperar. Em compara\u00e7\u00e3o com outras linguagens como Objetive-C e Python 2.7, a linguagem Swift obteve um desempenho relevante em testes,foi utilizado o algoritmo de busca em profundidade (DFS) com 10000 n\u00fameros inteiros, tendo como resultado 2,6 e 8,4 vezes mais r\u00e1pida que essas linguagens, respectivamente. Usu\u00e1rios de Linux e Mac podem desfrutar de todos os recursos que esta linguagem pode oferecer. Que tal desenvolvermos um joguinho simples para iOS e vermos o qu\u00e3o interessante \u00e9 o Swift? Iremos desenvolver um Jokenp\u00f4 ou Pedra, Papel ou Tesoura!<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Para isso vamos utilizar a IDE Xcode 11. Abrimos o Xcode e criamos um novo projeto Xcode:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_23\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_20\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-2901 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift1-300x180.png\" alt=\"\" width=\"620\" height=\"372\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift1-300x180.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift1-1024x615.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift1-768x461.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift1.png 1280w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_27\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_24\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Ao clicar em criar um novo projeto vamos precisar escolher o tipo de projeto a ser desenvolvido, onde escolhemos um aplicativo para iOS de visualiza\u00e7\u00e3o simples e passamos para a pr\u00f3xima configura\u00e7\u00e3o:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_31\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_28\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img decoding=\"async\" class=\"wp-image-2902 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift2-300x196.png\" alt=\"\" width=\"626\" height=\"409\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift2-300x196.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift2-1024x669.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift2-768x502.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift2.png 1280w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_35\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_32\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Devemos colocar um nome para o projeto, selecionar a linguagem de programa\u00e7\u00e3o (no nosso caso Swift) e a interface de usu\u00e1rio como storyboard, e escolhemos, ent\u00e3o, um diret\u00f3rio para salvar o projeto.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_39\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_36\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img decoding=\"async\" class=\"wp-image-2903 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3-300x201.png\" alt=\"\" width=\"612\" height=\"410\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3-300x201.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3-1024x685.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3-768x514.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3-272x182.png 272w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift3.png 1280w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_43\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_40\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Aparecer\u00e1 o projeto criado e a seguinte tela:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_47\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_44\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2904 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift4-300x170.png\" alt=\"\" width=\"589\" height=\"334\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift4-300x170.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift4-1024x582.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift4-768x436.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift4.png 1280w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_51\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_48\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Agora vamos criar um novo arquivo clicando no nome do projeto e, em novo arquivo, escolhemos um nome (no nosso caso estadoJogo do tipo Swift). Neste arquivo iremos colocar os estados poss\u00edveis do jogo &#8211; in\u00edcio, derrota, empate e vit\u00f3ria &#8211; atrav\u00e9s de uma enumera\u00e7\u00e3o (enum em Swift), utilizando o case para os casos poss\u00edveis do estado do jogo. A imagem abaixo mostra como ficar\u00e1 nosso arquivo estadoJogo.swift .<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_55\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_52\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2905 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift5-300x95.png\" alt=\"\" width=\"682\" height=\"216\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift5-300x95.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift5-1024x325.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift5-768x244.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift5.png 1280w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_59\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_56\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Criamos ent\u00e3o, outro arquivo, com o nome Sinais do tipo Swift. Vamos incluir a biblioteca GameplayKit, que engloba uma fun\u00e7\u00e3o que iremos utilizar: a de randomizar. Para isso, utilizamos import e o nome da biblioteca. Vamos criar uma constante que ser\u00e1 denominada escolha_aleatoria e fazemos a randomiza\u00e7\u00e3o de 0 a 2 representando as 3 possibilidades de jogada do computador. Para isso utilizamos a fun\u00e7\u00e3o da biblioteca GameplayKit GKRandomDistribution(lowestValue: 0, highestValue: 2). Criamos ent\u00e3o a fun\u00e7\u00e3o chamada sinal_aleatorio para especificar qual foi o sinal sorteado pela fun\u00e7\u00e3o acima. Com essa finalidade, cria-se a constante sinal e utilizamos a fun\u00e7\u00e3o com o intervalo que foi criada (escolha_aleatoria), junto com a fun\u00e7\u00e3o para ser feito a randomiza\u00e7\u00e3o nesse intervalo definido (nextInt). Fazemos a sele\u00e7\u00e3o: se o n\u00famero aleat\u00f3rio for igual a 0, ser\u00e1 pedra, se igual a 1 ser\u00e1 papel e se igual a 2 ser\u00e1 tesoura.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_63\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_60\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2906 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift6-300x225.png\" alt=\"\" width=\"471\" height=\"353\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift6-300x225.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift6-1024x768.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift6-768x576.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift6.png 1199w\" sizes=\"(max-width: 471px) 100vw, 471px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_67\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_64\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Vamos criar outra enumera\u00e7\u00e3o para os poss\u00edveis sinais do jogo &#8211; pedra, papel ou tesoura. Para isso, vamos utilizar o case. Criamos uma vari\u00e1vel do tipo String para os emojis que ser\u00e3o utilizados e ser\u00e1 utilizado um switch (switch self no Swift) com as tr\u00eas possibilidades: pedra, papel ou tesoura e os respectivos emojis para represent\u00e1-los.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_71\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_68\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2907 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift7-300x82.jpg\" alt=\"\" width=\"596\" height=\"163\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift7-300x82.jpg 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift7-1024x278.jpg 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift7-768x209.jpg 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift7.jpg 1280w\" sizes=\"(max-width: 596px) 100vw, 596px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_75\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_72\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Devemos criar, tamb\u00e9m, uma fun\u00e7\u00e3o para verificar se o jogador vai ganhar, perder ou se vai empatar com o computador. Para isso, utilizamos um switch case (switch self no Swift) e para cada uma das tr\u00eas possibilidades, pode-se ter vit\u00f3ria, perda ou empate.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_79\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_76\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2908 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift8-300x186.png\" alt=\"\" width=\"563\" height=\"349\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift8-300x186.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift8-1024x634.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift8-768x476.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift8.png 1280w\" sizes=\"(max-width: 563px) 100vw, 563px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_83\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_80\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">A parte de jogabilidade est\u00e1 pronta. Vamos agora no arquivo Main.storyboard para a cria\u00e7\u00e3o da parte visual do aplicativo. Clicamos em View Controller e depois em + para adicionar os elementos a tela.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_87\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_84\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2909 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift9-300x183.png\" alt=\"\" width=\"562\" height=\"343\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift9-300x183.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift9-1024x623.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift9-768x467.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift9.png 1280w\" sizes=\"(max-width: 562px) 100vw, 562px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_91\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_88\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Para o joguinho vamos necessitar dos r\u00f3tulos (Label), que s\u00e3o basicamente textos, e dos bot\u00f5es (Button). Adicionamos ent\u00e3o conforme a imagem abaixo. Para alterar um r\u00f3tulo ou bot\u00e3o, mudamos o texto nas configura\u00e7\u00f5es de cada elemento. Nossa interface deve ficar mais ou menos assim:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_95\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_92\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2910 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift10-300x264.png\" alt=\"\" width=\"491\" height=\"432\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift10-300x264.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift10-1024x900.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift10-768x675.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift10.png 1280w\" sizes=\"(max-width: 491px) 100vw, 491px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_99\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_96\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Agora estamos na etapa final, e temos que resolver as intera\u00e7\u00f5es da tela com a jogabilidade. Para isso, vamos abrir o arquivo ViewController.swift e deixar ao lado do arquivo Main.storyboard. Vamos clicar com o bot\u00e3o direito em cada um dos bot\u00f5es e arrastar at\u00e9 o arquivo ViewController, dentro da classe ViewController. A seguir, ser\u00e1 requisitado o nome do r\u00f3tulo\/bot\u00e3o que desejarmos. Ap\u00f3s realizar a a\u00e7\u00e3o com todos, teremos a seguinte situa\u00e7\u00e3o:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_103\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_100\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2911 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift11-300x226.png\" alt=\"\" width=\"519\" height=\"391\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift11-300x226.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift11-1024x772.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift11-768x579.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift11.png 1076w\" sizes=\"(max-width: 519px) 100vw, 519px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_107\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_104\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Criamos uma vari\u00e1vel (var em Swift) para receber o atual estado do jogo (in\u00edcio) e ter um controle. Utilizamos a seguinte sintaxe:\u00a0<strong>var<\/strong>\u00a0atualEstado: estadoJogo = estadoJogo.inicio\u00a0.\u00a0Devemos criar uma fun\u00e7\u00e3o para resetar o display para seu estado inicial, onde alguns elementos devem estar desabilitados\/escondidos e outros n\u00e3o. Fazemos isso utilizando o nome do elemento e as propriedades isHidden (true se o elemento deve estar escondido, false para o contr\u00e1rio) e isEnabled (true se o elemento deve estar desabilitado, false para o contr\u00e1rio):<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_111\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_108\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2912 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift12-300x115.png\" alt=\"\" width=\"532\" height=\"204\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift12-300x115.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift12-1024x392.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift12-768x294.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift12.png 1122w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_115\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_112\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Agora devemos criar a fun\u00e7\u00e3o do jogo, e para isso colocamos os bot\u00f5es das tr\u00eas possibilidades como n\u00e3o habilitados, criamos uma constante para receber um sinal aleat\u00f3rio (representando a jogada do computador), e a label do rob\u00f4 ent\u00e3o receber\u00e1 o emoji atualizado conforme a jogada que foi randomizado o que representa o computador, o estado ent\u00e3o \u00e9 atualizado conforme \u00e9 verificado a situa\u00e7\u00e3o da partida atrav\u00e9s da verifica\u00e7\u00e3o das jogadas. Criamos, ent\u00e3o, um switch para verificar o atual estado do jogo e atualizar o r\u00f3tulo &#8211; se houve uma derrota, empate, vit\u00f3ria ou se ser\u00e1 iniciada uma nova partida. Teremos o seguinte c\u00f3digo:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_123\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_120\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2913 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13-300x200.png\" alt=\"\" width=\"529\" height=\"352\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13-300x200.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13-1024x682.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13-768x511.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13-272x182.png 272w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift13.png 1125w\" sizes=\"(max-width: 529px) 100vw, 529px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_127\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_124\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Agora vamos atualizar a tela conforme o que o jogador escolheu para deixar apenas a sua escolha:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_131\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_128\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2914 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift14-300x180.png\" alt=\"\" width=\"515\" height=\"309\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift14-300x180.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift14-1024x614.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift14-768x460.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift14.png 1128w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_135\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_132\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Para finalizar, escolhemos as a\u00e7\u00f5es que ocorrer\u00e3o quando os bot\u00f5es forem clicados, para isso clicamos com o bot\u00e3o direito do mouse e arrastamos at\u00e9 a classe ViewController, da mesma forma que foi feito anteriormente, mas dessa vez representar\u00e1 uma a\u00e7\u00e3o que deve conter um nome. Ficar\u00e1 assim:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_139\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_136\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2915 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift15-300x89.png\" alt=\"\" width=\"543\" height=\"161\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift15-300x89.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift15-1024x302.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift15-768x227.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift15.png 1118w\" sizes=\"(max-width: 543px) 100vw, 543px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_143\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_140\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Adicionamos ent\u00e3o, as fun\u00e7\u00f5es que ocorrer\u00e3o cada vez que um desses bot\u00f5es for clicado:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_147\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_144\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2916 aligncenter\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift16-300x127.png\" alt=\"\" width=\"524\" height=\"222\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift16-300x127.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift16-1024x433.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift16-768x325.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift16.png 1120w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_151\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_148\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Nosso jogo est\u00e1 pronto, para test\u00e1-lo clicamos no bot\u00e3o de executar, ent\u00e3o o simulador e o aplicativo ser\u00e3o iniciados.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_163\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2917 alignleft\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17-148x300.png\" alt=\"\" width=\"234\" height=\"474\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17-148x300.png 148w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17-505x1024.png 505w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17-768x1559.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17-757x1536.png 757w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift17.png 810w\" sizes=\"(max-width: 234px) 100vw, 234px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2918 alignleft\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18-149x300.png\" alt=\"\" width=\"239\" height=\"482\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18-149x300.png 149w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18-507x1024.png 507w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18-768x1551.png 768w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18-761x1536.png 761w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift18.png 814w\" sizes=\"(max-width: 239px) 100vw, 239px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2919 alignleft\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift19-148x300.png\" alt=\"\" width=\"236\" height=\"478\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift19-148x300.png 148w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift19-504x1024.png 504w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/swift19-756x1536.png 756w\" sizes=\"(max-width: 236px) 100vw, 236px\" \/><\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_152\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_156\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_160\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.29b0ae76f7c89a52_167\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_164\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p dir=\"ltr\">\u00a0<\/p>\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.29b0ae76f7c89a52_164\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p dir=\"ltr\">\u00a0<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Agora resta nos divertir e aproveitar o jogo simples e r\u00e1pido de desenvolver que fizemos. Conseguimos entender melhor como funciona e como desenvolver um aplicativo utilizando essa incr\u00edvel linguagem, boas cria\u00e7\u00f5es! =)<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\"><strong>Refer\u00eancias<\/strong>:<\/p>\n<ul class=\"n8H08c UVNKR\">\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><span class=\" aw5Odc\"><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.apple.com%2Fbr%2Fswift%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFYLs3dM4SLj-xAVJJ9gWLF5p0XLQ\" target=\"_blank\" rel=\"noopener noreferrer\">Apple<\/a><\/span><\/p>\n<\/li>\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><span class=\" aw5Odc\"><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fswift.org&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEp4fFFTX7zQrCFTNb4QjfW-GDKPg\" target=\"_blank\" rel=\"noopener noreferrer\">Swift<\/a><\/span><\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\u00a0<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\" style=\"text-align: right\">Rafael Trindade<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal, tudo bem? Desta vez o PET-Reda\u00e7\u00e3o abordar\u00e1 a linguagem Swift. Swift \u00e9 uma linguagem de programa\u00e7\u00e3o criada pela Apple para o desenvolvimento de aplicativos para Apple TV, Apple Watch, iOS e Mac que foi desenvolvida com o intuito de ser de f\u00e1cil uso, com c\u00f3digo aberto a todos que queiram cooperar. Em compara\u00e7\u00e3o [&hellip;]<\/p>\n","protected":false},"author":2948,"featured_media":2694,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,112],"tags":[191,149],"class_list":["post-2702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaques","category-redacao","tag-mobile","tag-redacao"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/users\/2948"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/comments?post=2702"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media\/2694"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media?parent=2702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/categories?post=2702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/tags?post=2702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}