SORU
20 Aralık 2010, PAZARTESİ


İçin enumerateObjectsUsingBlock vs kullanma

Belirgin farklılıklar dışında

  • Dizin ve nesne gerektiğinde enumerateObjectsUsingBlock kullanın
  • Yerel değişkenleri değiştirmek istediğinizde enumerateObjectsUsingBlock kullanmayın(Bu konuda yanlış, bbum cevabı görmek)

enumerateObjectsUsingBlock for (id obj in myArray) de çalışır genellikle iyi ya da kötü olarak kabul edilir? Avantajları dezavantajları örneğin, daha fazla veya daha az ölçülebilir () nedir?

CEVAP
20 Aralık 2010, PAZARTESİ


Sonuçta, kullanmak istediğiniz ve daha doğal bağlamında hangisi olursa kullanın.

for(... in ...) oldukça kullanışlı ve sözdizimsel kısa, enumerateObjectsUsingBlock: süre olabilir ya da ilginç bir deneme özellikleri bir numarası vardır:

  • enumerateObjectsUsingBlock: ya da hızlı hızlı numaralandırma (for(... in ...) NSFastEnumeration destek numaralandırma uygulamak için kullanır) daha hızlı olacaktır. Hızlı hızlı numaralandırma numaralandırma için gösterimi için bir iç temsil çeviri gerektirir. Havai orada var. Blok tabanlı numaralandırma olarak hızlı bir şekilde yerel depolama biçimi en hızlı geçişi olarak numaralandırma içeriğine toplama sınıfı sağlar. Olası diziler için önemsiz, ama sözlük için büyük bir fark olabilir.

  • "Yerel değişkenler __block olarak yerli bildirebilirsiniz blok yazılabilir olacaklar." - doğru değil; değiştirmek istediğinizde enumerateObjectsUsingBlock kullanmayın

  • enumerateObjectsWithOptions:usingBlock: ya eş ya da ters numaralandırma destekler.

  • sözlükler, blok tabanlı numaralandırma anahtar ve değer aynı anda almak için tek yoldur.

Şahsen, enumerateObjectsUsingBlock: daha sık for (... in ...) ama - yine - kişisel bir seçim daha kullanıyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • androidandme

    androidandme

    10 Mart 2009
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009