É possível enumerar NSDictionary na ordem em que o valor-chave é definido?
Respostas:
2 para resposta № 1Nã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.