O melhor pedaço da Maçã.

Quaddro + MacMagazine: programando em Objective-C — classe NSMutableDictionary

Declaração - NSMutableDictionary

Avançando os estudos do artigo passado, nós vamos agora trabalhar com o tipo de dicionário que permite a adição e a remoção de pares “chave-valor”: vamos estudar NSMutableDictionary.

Publicidade

Requisitos

Evolution of Music, da banda Pentatonix

Conceitos

Assim como tivemos versões mutáveis e imutáveis de array, também temos essa dualidade de objetos no trabalho com dicionário. O NSDictionary usado no texto passado é um tipo de dado que gera objetos imutáveis, logo, para podermos adicionar e apagar elementos, precisaremos da classe NSMutableDicionary.

Como eu já expliquei as questões envolvidas com essas versões mutáveis e imutáveis no artigo de NSMutableArray, vamos direto para a prática.

Prática

Vamos criar um novo projeto chamado Classe_NSMutableDictionary, com a seguinte atribuição inicial:

Declaração - NSMutableDictionary

A primeira questão óbvia aqui é que, se o objeto é mutável, ele pode ser declarado vazio e receber registros posteriores sem problemas. O código a seguir ilustra o método de adição de registro:

Set object

Aqueles que já trabalharam com NSMutableArray normalmente “chutariam” um addObject aqui, mas o método que adiciona um registro no MutableDictionary é o setObject. Sua sintaxe é de primeiro definir o valor e, depois, a chave associativa. Tenham sempre em mente essa questão de par “chave-valor”, pois cada registro de um dicionário possui as duas partes.

Publicidade

Para testar a adição dos elementos, vamos usar um NSLog exibindo o dicionário inteiro:

Exibição - dicionário

Uma vez adicionados elementos, já podemos usar os métodos para apagá-los.

Remove object

O método removeObjectForKey é responsável por apagar um objeto a partir da chave associada a ele. A título de comparação, lembrem-se que o removeObjectAtIndex do NSMutableArray usava o índice do objeto.

Para concluir também temos um método no espírito “apaga tudo”:

Remove all

O método removeAllObjects apaga todos os pares “chave-valor” existentes no dicionário em questão. É de longe a forma mais fácil para “resetar” um dicionário, pois internamente o sistema varre toda a coleção “limpando” a memória dos valores alocados.

Assim como NSMutableArray, os objetos NSMutableDictionary são relativamente simples em seus códigos exclusivos. Eles herdam os recursos de suas classes-mãe (super class) e adicionam esses mecanismos para adição e remoção de valores. Em projetos interativos e com manipulações de bases de dados, será comum fazer uso dessas coleções mutáveis.

Para dúvidas ou debates sobre o tema, convido todos a acessarem o tópico oficial no fórum da Quaddro Treinamentos. E confira aqui todos os artigos que já publicamos no MacMagazine.

Um abraço e até a próxima!

Ver comentários do post

Compartilhe este artigo
URL compartilhável
Post Ant.

Apple cria equipe de conselho acadêmico para melhorar as condições de trabalho em fornecedores

Próx. Post

Nova foto mostra supostas caixas de um “iPhone 5C” [atualizado]

Posts Relacionados