Olá, meu nome é Mark Nair e nestas lições, você aprenderá sobre tipos de dados complexos incluindo array, dicionários, enums e conjuntos. As coleções no Swift nos permitem usar muitos objetos como um grupo em vez de ter que usar diferentes constantes ou variáveis para acompanhar cada objeto individual. Uma matriz é uma coleção que possui uma lista ordenada de valores. Se parece com isso. Então aqui eu tenho uma constante chamada cities. Agora isso é igual a e eu tenho alguns nomes de diferentes cidades ao redor do mundo, mas você notará que eles estão entre colchetes. Tão diferente das cordas que vimos antes, mas estes são valores de string todos separados por vírgula entre colchetes e esta é uma matriz de valores. Então, vamos dar uma espiada dentro das cidades para ver o que há lá dentro. Para fazer isso, vou apenas digitar cidades e eu vou executá-lo. Clicando na seta, você vê aqui são os mesmos valores que tenho aqui na linha um. Então eu sei que isso é uma matriz. Se eu optar + clicar em cidades, deixe cidades tipo de array de string então é string dentro desses colchetes. Para encontrar um item específico na matriz, nós podemos fazer isso, cidades e, em seguida, suporte e, em seguida, o número do item na matriz. Agora estou usando zero é o primeiro número e você verá quando eu executá-lo, o resultado é Tóquio. A razão pela qual zero é o começo é porque as matrizes em Swift começam em zero. Então começamos a contar zero, um, dois, três. Muita gente se confunde com isso. Então, lembre-se em uma matriz, o primeiro item na matriz aqui, Tóquio é a posição zero, Deli posição um, Shanghai posição dois mesmo que pareça a terceira coisa na matriz qual é o terceiro item mas é a posição zero, um, dois. Podemos verificar se algo está no array assim. Estou obtendo nomes de cidades, o nome da matriz, ponto contém e depois entre parênteses, as informações que estou verificando. Neste caso, é Taipei. Quando eu executar isso, serei verdadeiro, então isso responde com um valor booleano. Para alterar o elemento em uma matriz, é a mesma coisa que eu fiz antes. O nome da matriz, colchetes, e, em seguida, o local específico. Então desta vez eu vou mudar a posição um. Agora farei isso igual ao Cairo. Ah, eu não posso mudar isso porque fiz das cidades uma constante, não uma variável. Então, mudar o que ajudaria. Agora posso mudar a posição de uma cidade para o Cairo. Agora vejo que meu pedido é Tóquio, Cairo. Troquei Delhi por Cairo. Basta ter em mente uma matriz é muito específico sobre onde as coisas existem na matriz. Eu posso adicionar à matriz com isso. Portanto, a palavra-chave é append e meu menu pop-up aqui diz novo elemento. Eu só vou aceitar isso e é um novo elemento de string, então Mumbai. Agora, quando eu adiciono o elemento à matriz, você notará que bem no final da matriz, é para lá que o elemento vai. Ele prende no fundo, a parte de trás dele, o fim dele. Eu também posso adicionar à matriz adicionando outro array a ele, por exemplo. Então aqui estou adicionando uma matriz de dois valores, Osaka e Karachi, ao conjunto de cidades. Quando eu corro isso, você verá agora que minha matriz de cidades está ficando muito longa e há Mumbai, depois Osaka e Karachi no final. Claro, eu poderia ver isso em linha também. Posso adicionar a um local específico da matriz. Agora, neste caso, estou informando as cidades da matriz, cidades, quero inserir algumas informações para o array chamado cities. O que estou inserindo está entre parênteses uma string chamada Paris, vírgula, e, em seguida, o local na posição um. Agora, em vez de substituir Cairo, apenas empurra Cairo para a posição dois. Então Tóquio posição zero, depois Paris, depois Cairo. Vamos remover elementos do array. Isso removerá o elemento na posição quatro da matriz. Agora, agora, zero, um, dois, três, quatro. Essa é a Cidade do México, comandando isso remove o valor da Cidade do México. Se pegarmos um pico, eu o removi. Na verdade, podemos manter esse elemento que removemos para uso posterior desta forma. Desta vez, vou remover o elemento da posição seis, mas estou armazenando isso na constante removeCity. É Amarillo e posso imprimir facilmente. Podemos remover facilmente o primeiro e o último elemento. Assim, removeFirst e removeLast. E, novamente, eu poderia usar esses valores em outra coisa, Tóquio e Karachi. posso remover tudo e isso me dará uma matriz vazia bem aqui. Vamos dar uma olhada em quantos itens estão agora nesse array. Vou fazer isso com um método de contagem e é zero porque eu removi tudo. Às vezes você não saberá o conteúdo de um array quando você o cria pela primeira vez. Bem, fizemos isso para outros tipos que se parecem com isso. Estou apenas estabelecendo a palavra como um tipo de string. Para uma matriz, é semelhante. Existem algumas maneiras. Então, vamos configurar uma nova matriz. Aqui está um novo array do tipo String que é igual a uma matriz vazia. Existe um atalho para isso. Se parece com isso. Este é um array de strings assim. Você provavelmente verá esses dois métodos. Vamos praticar isso um pouco. Vou anexar banana ao novo array e então eu vou inserir laranja da posição um de outro array. Isso não vai funcionar, estou recebendo um erro terrível porque outro array realmente não tem nada nele. Não há posição um. Tem que ser a posição zero para fazer este trabalho no início. Ah, e um pequeno erro sintático aí. E então eu posso atribuir um novo array chamado fruitArray que é igual a nova matriz mais outra matriz. Se eu adicionar e olhar para a contagem de fruitArray, Eu tenho dois elementos nele e eu sempre posso fazer um loop sobre isso. E lá vamos nós. Está imprimindo banana e laranja. Obrigado por assistir, fique atento para a próxima lição onde mostrarei como usar dicionários.