Bir NSDictionary dizilemenin doğru yolu, anahtarlardan bir dizi oluşturmak, diziyi sıralamak ve diziyle numaralandırmak ve oradan NSDictionary üzerinde çalışmaktır.NSDictionary neden bellekte alfabetik, ancak numaralandırmada değil?
NSLog(@"%@", dict);
Ama bu değildir: Sorum
Bu neden alfabetik olduğunu, anahtarlar ve dizeleri değerleriyle, bir NSDictionary * dict için vardırfor (NSString *w in dict)
{
NSLog(@"%@", w);
}
garip görünüyor ... Yanlış bir şey mi yapıyorum?
Şimdiden teşekkürler.
Ah, bu mantıklı. NSLog'un% @ sıralamalarını düşünmedim. Teşekkürler! – iBuys
I.e. diktatörler doğası gereği sıralanmamıştır. – bbum
Sözlük, yalnızca bir değeri diğerine eşleyen bir koleksiyon için bir arabirimdir. Sıralanmamış olması gerekmiyor. Örneğin, bir ikili ağaçtan bir sözlük yapabilirdim - bu durumda sipariş verilebilirdi. C++ 'da std :: map'in bir sözlük arayüzü vardır ve sipariş edilir. Bir Hash tablosu sırasızdır, bu yüzden birinden yapılmış bir sözlük de olurdu. –