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

  • dcigs

    dcigs

    9 EYLÜL 2006
  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007