Auto post nas Redes Sociais com Jetpack

Acesse Plugins> Adicionar Novo> Pesquisar Plugins  e digite “Jetpack by WordPress.com” (seu plugin Auto Post)  dentro de Pesquisar Plugins e pressione enter. Instale e ative, uma vez na lista de plugins instalados, selecione Configurações . Para ativar o recurso Publicize do Jetpack, você precisa vincular sua conta no WordPress.com então aperte o botão verde “Vincule Sua conta com WordPress.com”.

jetpack-publicize-passo-a-passo
Se você ainda não tem uma conta no WordPress.com será crie um nome de usuário e uma senha depois de criar sua conta e faça login, você vai ver que você está pronto para ativar o Jetpack.

jetpack-publicize-passo-a-passo2

Após ativar a sua conta selecione Jetpack> Configurações na seção Publicize clique em configurar.

jetpack-publicize-passo-a-passo3

Para cadastrar suas contas sociais, você precisa dar permissão. Conecte as contas sociais que você quer deverá pedir login e senha e assim conceder acesso. Ligue todas as contas que você desejar – você vai ser capaz de marcar e desmarcar uma conta específica quando chega a hora de publicar seus posts.

jetpack-publicize-passo-a-passo4

Você também será capaz de adicionar um botão compartilhar nas suas páginas e posts através do plugin. Para fazer isso, basta arrastar os botões do serviços disponíveis em caixa para a serviços habilitados, e organizá-los como você gostaria de vê-los exibidos. Salve as alterações e, em seguida, confira um dos seus posts recentes para ver se seus novos botões de ações são visualizadas como você quer.

jetpack-publicize-passo-a-passo5

Agora que o Publicize está instalado e configurado, você verá uma nova seção Divulgar  em seu Novo Post, acima do botão Publicar. Você pode optar por ter o plugin e publicar automaticamente o seu conteúdo para todas as contas sociais que você tenha concedido acesso, ou você pode clicar em  Configurações para marcar e desmarcar as contas, e até mesmo incluir uma mensagem personalizada para acompanhar o seu link.

jetpack-publicize-passo-a-passo6
Pronto, agora você pode agendar seus posts! 😉

Introdução ao uso de Thread em objective C

Bom pessoal, neste post vamos trabalhar com Threads, uma ferramenta muito interessante, para quem não sabe como funciona, vamos a uma explicação básica, é dividir o processo para que ele possa ser executado em paralelo ao funcionamento principal. Exemplificando, vamos imaginar um app que faça uma consulta de dados para montar uma tabela, e essa tabela tem fotos de alguma coisa.Montar a tabela em si com os dados em forma texto será algo simples e rápido, porem baixar as imagens é algo muito mais demorado, e enquanto estivermos baixando as imagens toda nossa interface fica parada até que todos os downloads sejam finalizados, e bem isso pode levar alguns segundos, não será o fim do mundo, mas pode prejudicar a experiência do usuário.

E como podemos resolver isso ?

Bom com nossa Thread, podemos simplesmente mandar as imagens serem baixadas em “segundo plano”, ou seja nosso aplicativo continua funcionando, e a medida que as imagens são baixadas podem ser exibidas.

Como não terei tempo de fazer um aplicativo completo com o download de imagens e tudo mais, vou criar um aplicativo simples apenas 2 métodos que serão executados em paralelo (mas se você quer aprender a trabalhar com tabelas acesse esse link onde ensinamos).

Bom o projeto será algo bem simples, crie 2 labels pronto essa é toda a interface que vamos precisar , em nosso arquivo .m vamos criar 2 métodos chame como quiser, em um deles nós vamos fazer um laço curto de 0 a 10, já no outro vamos criar um laço grande de 0 a 10000000. Nosso código deve estar algo assim:

-(void)contadorPrincipal{

for (int i = 0 ; i < 10; i++) {

self.labelPrincipal.text = [NSString stringWithFormat:@”%i”,i];

}

}

-(void)contadorSecundario{

for (int i = 0; i < 10000000; i++) {

NSLog(@”a”);

self.labelSecundaria.text = [NSString stringWithFormat:@”%i”,i];

}

}

Lembrando que o labelPrincipal e labelSecundaria  são as labels que criamos no nosso storyboard.

Digamos que, em nosso método viewDidLoad nós usamos um self para chamar os métodos contadorSecundario, e contadorPrincipal nessa ordem, bom nosso código vai funcionar, porem o método contadorprincipal só vai ser executado quando o contadorSecundario terminar, e bem pelo tamanho do laço podemos ver que vai demorar um pouco, bom mas e se eu quiser que ambos sejam executados ao mesmo tempo, e que nenhum atrapalhe a execução do outro ? Bom podemos fazer jogando um laço dentro do outro e usando um pouco de lógica, porem isso pode dar mais trabalho que criar nosso Thread.

Para executar um método em segundo plano precisamos de apenas uma linha de código basta que onde usamos nosso self padrão para chamar o método contadorSecundario vamos trocar por:

[self performSelectorInBackground:@selector(contadorSecundario) withObject:nil];

E pronto nosso método agora será executado em segundo plano na nossa execução.

Medidas para publicações nas Mídias Sociais

Medidas para Publicações

Se você é novo na área de mídias sociais e recentemente criou uma página no Facebook, Google Plus, Twitter ou Youtube, tenho uma dica extremamente valiosa para você! Descubra todos os tamanhos para publicação e atualize suas Redes Sociais. 😉

Facebook Tabs Design

facebook_app

Facebook Avatar Design
facebook_avatar

Facebook BG Design

facebook_bg
Facebook BG Grupo Design

facebook_evento

Facebook Post Design
facebook_post

Google+ Avatar Design

 

googleplus_avatar
Google+ Post 1 Design

googleplus_bg
Google+ Post 2 Design
googleplus_post

Twitter Avatar Design

twitter_avatar

Twitter BG Design

twitter_bg

Youtube Avatar Design
youtube_avatar

Youtube BG Desgin

youtube_bg

TableViewCell customizada em Objective C

Bom pessoal hoje vou mostrar como customizar as células de um tabela usando objective C, e  TableViewCell esse tópico é bem interessante e fácil.

Primeiramente vamos construir uma aplicativo simples e colocar uma tabela na tela.Não se esqueça de fazer os delegates e Datasources.

tabelaDelegate

Se você não sabe como fazer isso, pode acessa esse link onde falo um pouco mais de tabelas.

Continuando, depois de criada nossa tabela normal precisamos criar uma célula para ela, criamos uma nova classe e usamos pedimos para criar um arquivo XIB junto.

criancoCelula

Lembre-se de selecionar subClass of : UITableViewCell por boas práticas. Lembre-se de deixar selecionado Also create XIB file.

Neste arquivo é onde poderemos criar a célula do jeito que quiser, no meu caso apenas redimensionei para o tamanho de minha viewController, e adicionei 5 labels e lhes dei nomes, nosso .h da célula ficou da seguinte maneira :

@property (weak, nonatomic) IBOutlet UILabel *labelCampoSuperiorEsquedo;

@property (weak, nonatomic) IBOutlet UILabel *labelCampoInferiorEsquerdo;

@property (weak, nonatomic) IBOutlet UILabel *labelCampoSuperiorDireito;

@property (weak, nonatomic) IBOutlet UILabel *labelCampoInferiorDireito;

@property (weak, nonatomic) IBOutlet UILabel *campoCentro;

Bom pelo nome dos campos, podemos deduzir onde fica cada um deles, e assim ficou nosso XIB:

celulaCustomizada

Nossa ViewController tem apenas um método que ainda não mostrei como funciona o metodo, heightForRowAtIndexPath. Que por sua vez tem uma função muito simples definir o tamanho da célula como a minha tem o tamanho de 85, apenas preciso de um retun 85, caso nossa célula fosse maior bastava alterar o valor de retorno do método.

– (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 85;

}

Em nosso cellForRowAtIndexPath onde precisamos fazer algumas pequenas alterações:

CelulaTableViewCell *cell = (CelulaTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

Onde criamos nossa célula, CelulaTableViewCell é o nome de nossa classe, lembrando que se você não consegue visualizar o nome da classe, possivelmente você esqueceu de importar a classe.

Vamos agora fazer um if

if (cell == nil) {

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@”CelulaTableViewCell” owner:self options:nil];

cell = [nib objectAtIndex:0];

}

O cell = [nib objectAtIndex:0]; indica que dentro do nosso Xib vamos usar a célula 0 , o xib poderia ter varias celulas dentro, porem isso vai ficar para outro post.

Agora importamos nossa cell, precisamos enviar os dados para os campos dentro ca cell. E isso é bem simples vamos pegar nossa célula, dissemos que nosso Xib é nosso cell logo os metodos do Xib estão instanciados dentro de cell, portanto para acessar nossos métodos precisamos apenas do seguinte código:

cell.labelCampoInferiorDireito.text = @”1″;

cell.labelCampoInferiorEsquerdo.text = @”2″;

cell.labelCampoSuperiorDireito.text = @”3″;

cell.labelCampoSuperiorEsquedo.text = @”4″;

cell.campoCentro.text = @”5″;

se compilarmos agora nosso código já teria sua cell customizada isso claro partindo do principio que você não se esqueceu do método numberOfRowsInSection, se não teremos um erro.

– (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return 5;

}

Coloquei um return 5 apenas para demonstrar outra coisa sobre o tabelas que é bem interessante dentro das tabelas temos as propriedades, e uma delas é a indexPath, que nos diz em qual celula da tabela nós estamos, e com isso podemos fazer N coisas diferentes, como por exemplo intercalar a cor das células de nossa tabela de uma maneira extremamente simples:

if (indexPath.row % 2){

cell.backgroundColor = [UIColor greenColor];

} else {

cell.backgroundColor = [UIColor yellowColor];

}

Com esse código pegamos o o módulo que é o retorno da divisão, e baseado nesse retorno podemos dizer que nossa linha é “impar”, ou “par”, e com essas informações em mãos podemos intercalar as cores.

Esse claro foi apenas um uso extremamente simples de como fazer uma célula customizada, temos uma infinidade de componentes que podemos usar, e efeitos que podemos criar.

UI Kit Design para Desenvolvimento iOS e Android

Aposto que você tem uma ideia e não sabe bem por onde começar certo? Calma no começo é assim mesmo, mas vou avisando, não existe “melhor ferramenta” e sim aquela a qual você vai se adaptar melhor. Então tentei reunir aqui os primeiros passos para você inicializar a customização do seu primeiro aplicativo iOS / Android.

Kit de Design para Desenvolvimento Android

1.  Android Developers

android-developer
Encontre aqui padrões de fluxo de amostra de usuário, simulações de design, kit UI, coleções de bar icon e stencils para celulares e tablet. A aprovação do seu aplicativo Android na Google Play demora em torno de 1 dia no máximo.

2. Google Material Design

material-design

Depois do evento do Google I/O um dos novos serviços anunciados neste evento foi o padrão de interface chamado Material Design.  Ele estabelece padrões de ícones, cores, animações, tipografia e hierarquias, com isso o Google pretende unificar interfaces no Android, Chrome OS e serviços web.

3.  Google Material  Design para Bootstrap

material-design-google
O Google Material Design para Bootstrap é um tema Bootstrap 3, que lhe permite utilizar o novo design de materiais Google em seu editor de front-end favorito. Isso mesmo, tudo prontinho pra você que pretende iniciar um Aplicativo Híbrido.  S2

4. App Icone Android

app-icon-android

Automatize o processo de geração de ícones para a Google Play.  Utilize actions do Photoshop que acompanham esse arquivo para exportar seus ícones em vários formatos.

Kit de Design para Desenvolvimento iOS

1. Theme Tethr
tethr

No Theme Tethr você encontrará 8 arquivos PSD, 138 modelos de APPs com mais de 200 componentes que podem ser utilizados individualmente no desenvolvimento do seu Aplicativo para iOS.

 2. iOS7 Ícones Template

ios.robs

Automatize o processo de geração de ícones para a Apple Store.  Utilize actions do Photoshop que acompanham esse arquivo para exportar seus ícones em vários formatos.

 3. Hig da Apple
hig-apple

Conheça a filosofia de design de interface do usuário e princípios fundamentais da Apple. Isso facilitará a aprovação do seu aplicativo na Apple Store. Atualmente demora pelo menos 1 semana para aprovação que é bem rigorosa por sinal! #FicaDica

Delegates, uma introdução rápida ao conceito.

Bom pessoal , vamos a mais um tutorial de objective C, hoje vamos trabalhar com um conceito extremamente importante de aplicativos de modo geral, o delegate. Os delegates tem a função principal de conectar o seu aplicativo com o dispositivo em si.

Caso você nunca tenha visto nada sobre o assunto talvez também seja interessante dar uma olhada na documentação a apple sobre o tema, acesse o link aqui.

Bom, vamos continuar vou demostrar alguns códigos onde o delegate é interessante de se usar.

Primeiramente vamos criar um novo projeto e colocar apenas um campo de textField e um label.

Em nosso arquivo .h vamos ligar nossos componentes e na linha onde temos nossa interface, dizemos a nosso projeto que usaremos o delegate.

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextField *campoTexto;

@property (weak, nonatomic) IBOutlet UILabel *labelResultado;

@end

Lembrando que os nomes das variáveis fica a seu critério. Basicamente até agora não fizemos nada muito diferente do que faríamos em um projeto normal, tirando pelo nosso <UITextFieldDelegate>, e agora vamos trabalhar com ela.

Em nosso arquivo .m vamos dizer quais componentes usaram seus respectivos delegates, e claro que um campo não pode usar um delegate de outro objeto ou seja, se em nosso em nosso arquivo .h declaramos um UITextFieldDelegate só podemos dar o delegate em um textField.

Para ligar um objeto ao delegate precisamos de um linha de código:

self.campoTexto.delegate = self;

Pronto, com esse código complexo podemos agora acessar diversas propriedades do nosso campo de texto.

Vamos mostrar um exemplo simples quando nosso usuário acessa o campo texto, o teclado sobe na tela, porem não temos um botão na tela para fazer a ação de mostrar os dados que ele digitou, vamos usar o botão return do próprio teclado.

Para isso precisamos do método:

-(BOOL)textFieldShouldReturn:(UITextField *)textField

(Como ele é um método do tipo bool, precisamos do retorno)

Implementado esse método só precisamos atribuir o valor de nosso label a nosso campo de texto:

-(BOOL)textFieldShouldReturn:(UITextField *)textField{

// atribuição dos valores

self.labelResultado.text = self.campoTexto.text;

//limpando o valor do campo de texto

self.campoTexto.text = @””;

return true;

}

Esse método foi apenas um pequeno exemplo, e só de nosso text Field, muitos outros componentes apresentam delegates, WebView por exemplo tem um método com o qual podemos saber se a página em questão já foi carregada ou se ainda está abrindo.

Infelizmente não podemos fazer um post para abordar todos os delegates que a apple tem, porém a documentação é bem interessante, acesse a documentação da apple aqui.

webView com Objective-C de maneira rápida

Bom pessoal, hoje vamos falar de um tema muito interessante, e um dos conceitos mais importantes para a programação de aplicativos, vamos trabalhar com as WebViews, esses componentes tem uma função muito obvia, ele abre uma pagina web dentro do seu aplicativo.

Esse tipo de ferramenta pode ser muito útil na construção de um app, quando por exemplo um formulario de cadastro que existe em um site precisa ser aberto, mais fácil que refazer o formulário no app seria interessante usar uma webView para abrir a pagina.

Vamos começar um novo projeto, e dentro do seu storyboard coloque o componente webView. Assim como na imagem abaixo.

webView em objective C

E também vamos criar os outlets do webView.

@property (weak, nonatomic) IBOutlet UIWebView *webView;

Agora precisamos dizer a nossa webView que ela deve acessar uma pagina web pré determinada, para isso precisamos da url da pagina a ser acessada, então vamos criar uma.

[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@”http://www.google.com”]]];

E pronto com essa linha de código nossa webView já está pronta e funcionando, lembrando que você pode sim fazer um aplicativo completo em uma webView, com uma página HTML ou algo semelhante, porem não teria o mesmo desempenho que um aplicativo nativo.

Boas praticas de programação

Bom pessoal, vamos a mais um post sobre desenvolvimento, neste post vou abordar um tema diferente ao invés de falar apenas sobre o desenvolvimento em si, vou falar um pouco sobre conceitos por traz do desenvolvimento de um bom software, e como primeiro post sobre esse tipo de assunto vou abordar um assunto que embora muitos considerem supérfluo, é indispensável para um projeto grande e/ou projetos que busquem uma qualidade maior do código.

Claro que vão ter algumas pessoas pensando agora, o usuário não lê código fonte por que vou fazer algo que organizado?

Bom a resposta disso é bem simples, embora realmente usuário nunca vá ler o código de seu projeto, pode ser que outros programadores, ou até mesmo você precise fazer alguma alteração em algum código que foi criado há muito tempo. E embora alguns ainda possam pensar, “Mas eu sei o que meu código faz”, isso não é uma garantia pois você vai esquecer.

Mas e ai o que seria uma boa pratica de programação ? Essa pergunta me daria conteúdo para alguns artigos gigantescos, pois não existe uma regra obrigatória para seguir, o que eu posso considerar uma boa pratica, ou algo que facilite meu entendimento sobre meu código outros programadores podem discordar completamente de mim. Como não posso escrever algum artigo gigantesco novamente vou ser o mais pratico e simples possível.

Só para ressaltar a importância de um código bem escrito eu fiz um exemplo rápido em C.

#include

int novamente = 1;
float salario,impostoPagar;

int main(int argc, const char * argv[])
{
while (novamente == 1) {

salario = 0;

printf("Entre com seu salario");
scanf("%f",&salario);

if (salario < 1500) { impostoPagar = salario*0.07; }else if ((salario > 1500)&&(salario < 5000)){ impostoPagar = salario*0.18; }else if (salario > 5000){
impostoPagar = salario*0.30;
}

printf("Voce precisa pagar %.2f\n\n",impostoPagar);

printf("Deseja Fazer uma nova Consulta ?\n 1 -- sim \n 2 -- não\n");
scanf("%i",&novamente);

if (novamente == 1) {

}else if (novamente == 2){
novamente = 2;
}else if ((novamente != 1)||(novamente !=2)){
printf("Voce precisa entrar com outro valor");
}
}

return 0;
}

Como esse era um program extremamente simples não há motivo para inserir dezenas de comentários no meio do código.

#include
int x = 1;
float y,z;
int main(int argc, const char * argv[])
{
while (x == 1) {
y = 0;
printf("Entre com seu y");
scanf("%f",&y);
if (y < 1500) { z = y*0.07; }else if ((y > 1500)&&(y < 5000)){ z = y*0.18; }else if (y > 5000){
z = y*0.30;
}
printf("Voce precisa pagar %.2f\n\n",z);
printf("Deseja Fazer uma nova Consulta ?\n 1 -- sim \n 2 -- não\n");
scanf("%i",&x);
if (x == 1) {
}else if (x == 2){
x = 2;
}else if ((x != 1)||(x !=2)){
printf("Voce precisa entrar com outro valor");
}
}
return 0;
}

Com os 2 código um do lado do outro veja qual fica mais fácil de entender ? Se você acha que o segundo esta melhor, bom pode parar de ler o artigo por aqui mesmo.Agora se você prefere o primeiro código vamos continuar.

Já dizia o filósofo “Um programador escreve um código que o computador entende, já um bom programador escreve um código que outros programadores entendam.”

Quando vamos escrever um código e temos interesse em fazer um código bem escrito temos que ter em mente uma coisa as vezes menos pode ser mais.

Isso quer dizer que sim existem situações em que um comentário pode atrapalhar mais do que realmente ajudar em alguma coisa, no exemplo que mostrei logo acima ele é um código extremamente simples e básico se eu colocasse muitos comentários explicando coisas básicas tipo “pega o valor que usuário digitou”, isso seria um comentário inútil. Uma ressalva para casos especiais, um professor ensinando outras pessoas a programar esse tipo de comentário seria quase indispensável.

Mas então, quando seria o ideal para escrever o comentário? Não sejamos hipócritas, somos programadores em algum momento faremos sim uma gambiarra, ou em algum momento de inspiração vamos criar uma lógica extremamente complexa. Nesse tipo de situação não seria bom colocar o comentário, nesses casos é quase obrigatório.

Muito alem de apenas comentários

Boas praticas vão muito alem de definir quando seria uma hora boa ou ruim para um comentário,vamos falar agora sobre outro tema que bem, podemos escrever outro artigo extenso sobre. A indentação, algumas pessoas em especial quando estão começando a programar não dão tanta importância para o tema, porem é indispensável para qual quer código grande.

O conceito pode parecer simples, basta sair encadeando uma linha dentro da outra. E embora possa se resumir a isso, um código bem estruturado pode significar uma um bom tempo na manutenção de um projeto.

Assim como comentários não é só sair dando tabs por ai temos um “padrão a seguir”, a estrutura mais comum, funciona da seguinte maneira. Imagine um IF que execute uma determinada função, nossa função estaria um “nível abaixo”, agora se esse método executa outro if com seu respectivo bloco de código, esse bloco estaria um “nível abaixo”, praticamente formando uma escada.

Podemos ver esse tipo de encadeando no primeiro código que mostrei no inicio do post.

Lembrando que não é necessariamente obrigatório que um programador siga as boas praticas, porem os que usam alem de facilitar a manutenção de seus projetos, também demonstra uma maturidade maior como programador.

E claro que boas praticas não se resumem apenas em quando usar comentários, como indentar códigos, temos ainda muitos outros temas que não posso abordar nesse post, pois ele ficaria muito extenso, se os leitores se interessarem podemos fazer um post sobre outros temas importantes que deixei de mencionar.

E ai tem outras praticas que acha importante que seja comentado ? Tem alguma duvida ? Alguma coisa que deixei de mencionar ? Mande seu comentário.

Google Meu Negócio – Tudo que você precisa saber

O que é o Google Meu Negócio?

O Google Meu Negócio é uma atualização do já conhecido Google Local (que um dia já foi Google Places), ou seja um conjunto de ferramenta e funcionalidades grátis que possibilita adicionar e editar informações de seu negócio e interação com seus clientes.

Os benefícios do Google Meu Negócio

– Transmitir confiança de que sua empresa realmente existe, sim ela está no Google;

– Uma ferramenta gratuita para aumentar a divulgação do seu site e, consequentemente, a sua marca;
– Você melhora a sua relevância no Google+ e ainda ajuda no maior ranqueamento nas buscas orgânicas;
– Você passa a monitorar as opiniões dos seus consumidores e realizar melhorias e promoções;

Dicas para o Google Meu Negócio

– É importante preencher todos os dados do Google Meu Negócio para que seja encontrado;
– Preencha até 5 categorias se possível;
– Coloque uma palavra-chave antes do nome da empresa se não houver a categoria desejada, mas tome cuidado para não ser punido;
– Crie uma conta no Youtube e vincule ao seu site;
– Adicione fotos de sua empresa e ajude os clientes a conhecer melhor os diferenciais do seu negócio;

 

Manipulação de Array com swift

Bom pessoal, vamos começar mais um post sobre swift e desta vez vou falar um pouco sobre o array. Um array é como uma caixa com varias caixas dentro que você pode guardar varias informações dentro.

Um array pode armazenar apenas 1 único TIPO de variavel por vez, ou seja se declaramos um array para armazenar dados do tipo string, ele só poderá armazenar dados do tipo string.

Para declarar um array em swift é um processo bem simples precisamos apenas de uma linha de código, digamos que vamos criar um array com o nome de carros, guardando os dados do tipo string, primeiro daremos o nome, e o tipo de dados que podem ser armazenados, por exemplo:

var carros: String[] = ["Fusca", "Fiat 147", "Opala", "Outros"]

Lembrando que o swift capta o tipo de variáveis que são usados dinamicamente ou seja podemos tirar esse string da declaração.

var carros: = ["Fusca", "Fiat 147", "Opala", "Outros"]

Bom não adiantaria nada termos um array se não fosse possível acessar as informações, então vamos usar agora alguns comandos uteis quando trabalhamos com arrays.

Count

A propriedade count é capaz de nos retornar o tamanho de um array, então no caso de nosso array o código ficaria assim:

println(carros.count)

Essa propriedade retorna o total de componentes em nosso array, em nosso caso temos 4 valores.

EMPTY

Esse é o método que nos indica se nosso array esta vazio.

if carros.isEmpty {
println("Nosso array está vazio")
} else {
println("Nosso array tem informações")
}

Os elementos de um array podem ser acessados através de seu index o index seria um inteiro sequencial, que determina uma posição dentro do array (lembrando que assim como em outras linguagens de programação os arrays começam com index 0).

Inserindo dados

A maneira mais fácil de inserir dados no array seria através do operador + ele insere o novo valor no depois do último index disponível, por exemplo em nosso array de carros temos um total de 4 carros, então executamos o seguinte código:

carros += ["Chevette", "Puma GT"]

Nosso chevette e nosso puma entrariam para posição 5 e 6 respectivamente.

Agora digamos que queremos inserir um novo carro na minha primeira posição do array podemos usar o index que desejamos alterar para definir onde inserir os dados no array. Por exemplo quero que na primeira posição do meu array tenha o nome de um carro diferente.

carros[0] = "Carro novo"

Isso faz com que a posição 0 de nosso array (a primeira) tenha o valor Carro novo ao invés de fusca que é a informação que está la.

Insert atIndex e removeAtIndex

esse 2 métodos são usados para inserir um valor em um index (posição) pré definido ou remover o valor de um index que esteja em uma index.

carros.insert("Meu novo Carro", atIndex: 0)
capitais.removeAtIndex(0)

Com esses 2 códigos nós inserimos “Meu novo Carro” no index 0 e depois retiramos o objeto que esteja no index 0 independente do que esteja la.

A listagem de elemento de um array

Talvez o método mais interessante que temos dentro do swift é o laço For in em outras linguagens quando precisávamos listar todos os valores de um array, tinhamos que criar um laço com uma condição de uma variável contador e o tamanho do array, era um processo relativamente chato, e então agora temos o laço for in.

for Carro in carros {
println(Carro)
}

Esse código faz o seguinte, enquanto tivermos um valor dentro de carros, ele será executado, com o comando println mostramos o valor que esteja na posição que o laço está percorrendo.

Caso ainda tenham duvidas sobre array, você pode acessar esse post onde falo também sobre array porém utilizando tabelas.