/ / Como enumerar através do dicionário em Objective-C na ordem em que foram definidos - objective-c, nsdictionary, enumeration

Como enumerar através do dicionário em Objective-C na ordem em que foram definidos - objective-c, nsdictionary, enumeration

É possível enumerar NSDictionary na ordem em que o valor-chave é definido?

Respostas:

2 para resposta № 1

Não há nenhuma maneira interna para fazer isso. Você terá que armazenar o pedido como uma propriedade dos objetos adicionados ou usar NSNumber como as chaves.


2 para resposta № 2

Não. Da documentação:

allKeys Retorna uma nova matriz contendo as chaves do dicionário.

  • (NSArray *) allKeys Valor de retorno Uma nova matriz contendo as chaves do dicionário ou uma matriz vazia se o dicionário não tiver entradas.

Discussão A ordem dos elementos na matriz não está definida.


-1 para resposta № 3

A única maneira de fazer isso é criando uma matriz de chaves primeiro. Em seguida, use essa matriz, iterando sobre ela para criar o dicionário. Os dicionários não possuem nenhum conceito inerente de ordem.