Bir özelliği içeren hızlı bir protokol var aslında MenuViewController türündedir ancak bunun yerine UIViewController protokolüne onaylamak için bildirilmelidir. Özelliklerine erişebilmek için istediğim doğru sınıfa düşürmek için (self.rootViewController!! MenuViewController) kullanmalıyım. Yukarıdaki basit örneğimde iyidir, ancak özellikle daha karmaşık durumlarda çok okunabilir değildir. Protokol değişkenini bildirmenin daha iyi bir yolu var mı?Swift downcasting ve protokol değişkenleri
Çok teşekkürler!
protocol WireframeProtocol: UIViewController {
var rootViewController: UIViewController { get }
}
class MenuWireframe : WireframeProtocol
{
let rootViewController: WireframeProtocol
init()
{
//...
}
}
, sen/sunum olacak olan bir protokol (Görünüm protokolü) gibi rootviewcontroller beyan ve orada zayıf bir özellik tanımlamak gerekir olabilir . –
Merhaba Daniel, bu doğru ama bu durum farklı bir amaç için. Her tel kafesin, navigasyon amacıyla kullanabileceğim bir UIViewController ortaya koyan bir protokole sahip olmasını isterim. Protokol sadece UIViewControllers için ise bu görüşme protokolünü kullanabilirim ... mmm Bunu kontrol edip size geri döneceğim – bennythemink
@bennythemink cevabımı kontrol ettiniz mi? –