Bu cevabı hiçbir yerde bulamıyorum. Bir yöntem üstbilgisinde gönderici parametresi olduğunda ne anlama gelir? Bunu çağıran örneği mi yoksa onu denen yöntemi mi temsil ediyor?Gönderen nedir?
cevap
Hiç bir sihir söz konusu değil. Muhtemelen, Arayüz Oluşturucu tarafından bazı kullanıcı arabirimi öğelerine bağlı yöntemler hakkında konuşuyorsunuz değil mi?
IBAction, boşluğa genişleyen bir makrodur. Bu, Arayüz Oluşturucu'da bulunmasını istediğiniz yöntemleri işaretleyen bir sözdizimsel şekerdir.
[button addTarget:yourObject action:@selector(userDidPressButton:) forEvent:...];
Ve düğmesine bastığınızda, bu eylem ve yangınların listesine geçer: bazı arayüz elemanı için bu yöntemi bağlamak Şimdi zaman, bir düğme, IB butonuna ... yöntem addTarget çağırır demek userDidPressButton, kendisini ilk bağımsız değişkeni olarak geçiriyor. Bu muhtemelen düğmeler için bu kadar kullanışlı değildir, ancak bir kaydırıcıdan değişiklik olayları almak için aynı mekanizmayı da kullanabilirsiniz ve bu durumda kaydırıcı değerini almak için gönderen argümanını kullanabilirsiniz.
Yöntem üstbilgisinde gönderici parametresi olduğunda ne anlama gelir? Bunu çağıran örneği mi yoksa onu denen yöntemi mi temsil ediyor?
Bağımsız değişken türüne bakın. Şanslar, id
. Bu bir nesne işaretçisinin türüdür. Mesajın gönderildiği örnek doğrudur.
Bir mesaja bir mesajı seçici geçebilir, ama bu tip SEL
değil id
olduğunu. Benzer şekilde, bir iletiye yöntem uygulaması geçirebilirsiniz, ancak bunun için id
değil IMP
türüdür. Tek bir sender
bağımsız değişkenini kullanan yöntemler, genellikle IBAction
dönüş türüyle tanımlanan genellikle eylem yöntemidir. Zoul'un dediği gibi, IBAction
, derleyici için void
'a genişler, bu da yöntemin bir değer döndürmediğini söyler. IBAction
'a sahip olmamızın nedeni, Interface Builder'ın dönüş türü olarak IBAction
ile yöntemleri aradığı ve bunları bir kontrolün bağlanabileceği eylemler olarak algıladığıdır.
Kakao (Mac OS X) hakkında daha fazla bilgi için, bkz. “The Target-Action Mechanism” in the Cocoa Fundamentals Guide ve Control and Cell Programming Topics for Cocoa.
Cocoa Touch (iPhone/iPod touch/iPad) hakkında daha fazla bilgi için, bkz. “The Target-Action Mechanism” in the UIControl class reference.
Tabii, bunu tanımlamak için bir çok teknik yol var, Ama 'hayır no' teorisinde geçtiği gönderici argümanı sadece onu geçen GUI nesnesidir.
Bu yöntemi belirli bir düğmeye bağlarsanız, Button1'i çağırırız, gönderen Button1 olur ve düğme için mevcut olan tüm bilgiler gelir. Boyut, metin vb.
Bunun yeterli olduğunu umuyorum.
Bryan
- 1. showViewController'ın programatik karşıtı nedir: gönderen:
- 2. Üyenin "gönderen" adresini ve "gönderen" başlığını kullanan olası sorunlar
- 3. Özel etkinlikler oluşturma - Nesne Gönderen veya Yazılan Gönderen?
- 4. Gönderen facebook facebook uygulaması
- 5. Uygulama Gönderen: facebook kullanıcısı
- 6. Arama jQuery Gönderen Google SpreadSheet Komut Dosyası
- 7. Google App Engine kopyalama gönderen
- 8. AMQP/RabbitMQ gönderen AVR (Arduino)
- 9. Android show bildirimi Gönderen BroadcastReceiver
- 10. C# eksik gönderen nesne başvurusu
- 11. Gönderen ana bilgisayarımı posta başlığı
- 12. Bir ileti göndermek için gereken bir göndericiyi (Dönüş Yolu, Gönderen veya Gönderen) almaya devam edin
- 13. Gönderen IP adresini curl kullanarak nasıl taklit edebilirim?
- 14. chromecast gönderen uygulamasından bir netflix filmi başlatılıyor
- 15. Sessizce bir POST FORMU (CSRF) gönderen örnek
- 16. Kabuk dbus-gönderen C içinde dbus çağrı
- 17. Rails ile bir Messenger Gönderen Alıcı Oluşturun
- 18. Oozie kabuğu eylemi gönderen kullanıcı olarak çalışmıyor
- 19. Çalışan Web Kullanımı Proxy Günlüklerinden Gönderen
- 20. Gönderen sınıfı - GCM Örnek - Java Uygulama motoru
- 21. Google bulut mesajlaşma: 100 çoklu gönderen sınırlaması
- 22. VB.NET Gönderen Sadece Yıl Bir Yıl Var
- 23. Çok noktaya yayın paketinden gönderen ip alın
- 24. Tüm kullanıcı verilerini gönderen PassportJS req.user
- 25. CORS jQuery Gönderen Ama AngularJs ile Başarısız
- 26. Gönderen SMS Ivice'den $ cordovaSms eklentisi ile çalışmadı
- 27. Ayrıştırma Sunucu: android itme tipi için gönderen bulamıyor
- 28. Alternatif gönderen/düzenleyici ile bir Outlook toplantı isteği nasıl oluştururum?
- 29. Laravel Homestead Swift Gönderen adresi olmadan ileti gönderilemiyor
- 30. Belirli bir mesaj alındığında gönderen aktörümüz nereden geliyor?
Cevabınız ikinci yarısı Cocoa Touch kapsar, ancak her denetim aynı anda yalnızca tek bir hedef ve eylemi vardır Kakao, için yanlış. Tek istisnalar, örnek başına yalnızca tek bir hedefi olan ancak örnek başına iki eylem seçicisine sahip olan NSTableView ve NSOutlineView'tir (tıklama için bir, çift tıklama için bir tane). –
Evet, sadece Cocoa Touch ile çalışıyorum, açıklama için teşekkürler. – zoul