2010-08-23 14 views

cevap

10

Apple'ın "A Short Practical Guide to Blocks" konseptini tanıtmaktan hoşlanıyorum. Ayrıca, "Suggested resources for learning about blocks in Snow Leopard" numaralı soruya verilen yanıtın hemen hemen tüm kaynaklarının burada geçerli olacağı belirtilmiştir. Orada kaynakların başında ise

, Drew McCormack tarafından Makaleleri "Cocoa for Scientists (Part XXVII): Getting Closure with Objective-C" ve "Cocoa for Scientists (XXXIII): 10 Uses for Blocks in C/Objective-C" tavsiye yanı sıra Joachim Bengtsson "Programming with C Blocks".

Oturumlar 206 için WWDC 2010 videos - "iPhone'da Bloklar ve Büyük Merkez Gönderi Tanıtımı" ve 211 - "iPhone Uygulama Geliştirmeyi Grand Central Dispatch ile Basitleştir" de iyi bir şekilde izlemeye değer.

+0

Ben snoe leopar blokları için değil ama iPhone ve iPad için ve ilk bağlantı kadarıyla ben orada açıklanmıştır yolu ile çok etkilendim söz konusu değil.Benim bloklar için bazı başlangıç ​​kodları öner. büyük yardım .. –

+0

@Ajay Pandey - Snow Leopard'daki bloklar ile iOS 4.0'dakiler arasında işlevsel bir fark yoktur. Dil sözdizimi aynıdır ve Grand Central Dispatch aynıdır, bu yüzden burada bulunan tüm bağlantılar burada geçerlidir. Örneğin bloklar için kod sormak, örneğin yöntemler veya işlevler için kod sormak gibidir. Temel bir dil özelliği, bu yüzden gerçekten basit bir örnek oluşturmak zor. –

+0

@Ajay Pandey - Cevabımda yardımcı olabilecek birkaç kaynak daha ekledim. –

13

Bloklar, bir parça kodun sarılması ve daha sonra kullanmak üzere etkin bir şekilde saklanması için bir yoldur. Bir geri arama işlevi yerine genellikle bir blok kullanılır. IPhone SDK'daki daha yeni API'ler bu şekilde engellenir. API, tamamlandığında çalışacağı bir "blok" kodunu alır.

Size

Grand Central Sevk (GCD) API bloklarla kullanılan

kuyruklar üzerinde çalıştırılabilir kilitler, kurulum sallanmasını havuzları vb kendi konuları oluşturabilir ve her iş parçacığı durumunu korumak, yönetmek zorunda kaydeder ve kodun tüm bölümleri çok az çaba ile asenkronize olarak çalışmak için yapılabilir, ancak çok iş parçacıklı kod için gereken sağlamlığı hala korur.

+0

GCD ile kullanım söz konusu olduğunda bunun önemini anlıyorum, ancak bunun dışında geri arama ve bunun gibi birçok şeyi anlamayı zor buluyorum.Kullanılan belgeler karmaşık terminilogiyi kullandı, bu yüzden eğer birisi lütfen anlatabilirse buradayım bana yeni başlayanlar dil blokları gerçek kullanın.Lütfen basit ve bazı kod açıklanabilir, bu harika olacak ... Teşekkürler –

+4

@Ajay Pandey - Size belirli bir dil sorun veriyor? Geri arama, uygulama veya sistemde meydana gelen bir şeye tepki olarak tetiklenen bir yöntem veya işlevdir. Bloklar, bir olaya karşılık olarak gerçekleşen eylemleri tanımlamanıza izin verebilir, ancak ayrı bir yöntem veya işlev yazmanız yerine, söz konusu olay için dinleyiciyi kurduğunuz yerdeki işleme kodunu yazmanıza olanak tanır. Bu bir kod karmaşasını kaydedebilir ve uygulamanızı çok daha düzenli hale getirebilir. –

+0

Anladığım kadarıyla, ama şimdi onay aldım. Teşekkürler. –

İlgili konular