UIViewController
numaralı bir ebeveynim var ve iki farklı görüntüleme kabı var - bunların her biri içte UIViewController
içeriyor. Bunun gibi her nasılsa görünür:Bir konteynerden diğerine nasıl geçebilirim, her ikisi de aynı kullanıcı denetleyicisine hızlı bir şekilde gömülür?
Ben kullanıcı sol birinde saklanan düğmesine bastığında sağ Kap üzerindeki etiket değiştirmek istiyorum.
class ParentController: UIViewController {
var delegateEmbedded:HandleEmbedded?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "segueToFirstEmbeddedController"){
if let embeddedView = segue.destinationViewController as? EmbeddedContainer {
self.delegateEmbedded = embeddedView
}
}
: Ben benim ana bileşende
:
Şimdiye kadar bir üst görünüm denetleyicisi yerleştirilen bir düğmeye sahip, o zaman sadece bir protokol kullanılarak iken bunu başardı benim konteyner gömülü UIViewController
vardı:
protocol HandleEmbedded: class { func setName(label: String) } class EmbeddedContainer: UITableViewController, HandleYourChat{ func setName(label: String){ print("setting label to \(label)") } }
Bir üst denetleyiciye yerleştirilen düğmeye sahip olduğumda ve kapsayıcının içindeki etiketini değiştirmek istediğimde yukarıdaki durumun çalışması. Ama ne olur ve düğme de gömülü olduğunda, ancak etiketten farklı bir kapta veriyi nasıl iletmeliyim? Verileri ana denetleyiciden geçmek zorunda mıyım? Bunu yapmanın en iyi yolu nedir?