私は即座にiosアプリを持っており、私はUIViewController
(それをparentControllerと呼ぶ)をコンテナに持っています。このコンテナには、別のUIViewController
というembedControllerが埋め込まれています。親UIViewControllerからコンテナに埋め込まれたUIViewController内部のメソッドを呼び出すにはどうすればよいですか?
embedControllerには、コンソールにメッセージを出力するメソッドが含まれています。
このメソッドをparentControllerからどのように呼び出すことができますか?
私は次のように私の現在のコードは、プロトコルを使用してみました:
class ParentController: UIViewController {
var handleEmbedController:HandleEmbedController?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "embedViewSegue"){
if let embed = segue.destinationViewController as? EmbedController {
embed.value1 = value1
}
}
@IBAction func sendMsgButtonAction(sender: AnyObject) {
handleEmbedController?.printMsg() //this so far does nothing
}
}
と私のembedControllerを:
私は親コントローラからこのメッセージを印刷することができますどのようにprotocol HandleEmbedController: class {
func printMsg()
}
class EmbedController: UITableViewController, HandleEmbedController{
var value1 = ""
func printMsg(){
print("printing some embedded message")
}
}
?
ありがとう、それは私が行方不明だった部分でした! – user3766930