Bu sorunun en iyi yorumlarından biri özellikle şunu soruyor:
Tüm cevaplar aynı fikirden bahsediyor .. ama kimse kaynağınıza IBAction / IBOutlet'i İÇERMİYORSANIZ neden Interface Builder'ın aynı şekilde çalıştığını açıklamıyor. IBAction ve IBOutlet için başka bir neden var mı veya onları bırakmak uygun mudur?
Bu soru NSHipster tarafından iyi cevaplanmıştır:
IBAction
https://nshipster.com/ibaction-iboutlet-iboutletcollection/#ibaction
2004'ün başlarında (ve belki de daha önce), bir yöntemin Arayüz Oluşturucu tarafından fark edilmesi için artık IBAction gerekli değildi . İmzaya sahip herhangi bir yöntem -(void){name}:(id)sender
, çıkışlar bölmesinde görülebilir.
Bununla birlikte, birçok geliştirici, belirli bir yöntemin bir eylemle bağlandığını belirtmek için yöntem bildirimlerinde IBAction dönüş türünü kullanmaya devam etmeyi yararlı bulmaktadır. Storyboard'ları / XIB'leri kullanmayan projeler bile hedef / eylem yöntemlerini çağırmak için IBAction kullanmayı seçebilir.
IBOutlet:
https://nshipster.com/ibaction-iboutlet-iboutletcollection/#iboutlet
IBAction'ın aksine, IBOutlet, bir Storyboard veya XIB'deki nesnelerle koddaki özellikleri bağlamak için hala gereklidir .
IBOutlet bağlantısı genellikle bir görünüm veya denetim ile yönetim görünümü denetleyicisi arasında kurulur (bu genellikle bir görünüm denetleyicisinin bir yanıtlayıcı tarafından gerçekleştirmeyi hedefleyebileceği tüm IBActions'a ek olarak yapılır). Bununla birlikte, başka bir denetleyici veya daha sonra bir başvuru görüntüleme denetleyicisi tarafından erişilebilen bir özellik gibi bir üst düzey özelliği göstermek için bir IBOutlet de kullanılabilir.