将数据从TableViewController传递到嵌入在容器中的另一个TableViewController
我无法将数据从TableViewController
传递到嵌入在Container View
中的另一TableViewController
。当我通过在prepareForSegue
数据我得到击中UIViewController
类型的“无法施展值TableViewControllerEmbeddedInContainer
。我一定要创建一个文件的容器ViewController
,并在那里钓什么?任何帮助是极大的赞赏。将数据从TableViewController传递到嵌入在容器中的另一个TableViewController
在我的第一TableViewController:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.myFavText = "My Favorite Text"
self.performSegueWithIdentifier("favDetails", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let myDetails = segue.destinationViewController as! TableViewControllerEmbeddedInContainer
details.myFav = self.myFavText
}
kampbell411,
“我一定要为Container创建视图控制器文件,并在那里钓什么吗?”
回答:是的。
“当我通过在prepareForSegue数据我被击中了‘式的无法施展价值‘的UIViewController到TableViewControllerEmbeddedInContainer’’
答:你不能因为SEGUE指向到ViewController含UIContainerView和不是视图控制器内嵌在里面:)
如何解决:)
创建包含ContainerView视图控制器类。创建一个IBOutlet的含erView :)
让我们把它作为中级班和视图myContainer中:)
class Intermediate: UIViewController {
@IBOutlet var myContainer: UIView!
var value : String!
//catch the embeded segue get the ViewController reference lets call it as Testing
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let test = segue.destinationViewController as! Testing
test.value = self.value
}
}
这将有助于:)
这很好。非常感谢你! – kelsheikh
@ kampbell411:永远欢迎伙伴:) –
使用此代码,
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
self.myFavText = "My Favorite Text"
self.performSegueWithIdentifier("favDetails", sender: self)
}
您将传递Container ViewController类中的值,然后将值分配给TableViewControllerEmbeddedInContainer类。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
if (segue.identifier == "favDetails") {
var myDetails = segue.destinationViewController as! ContainerViewController
myDetails.myFav = self.myFavText
}
}
希望它有帮助。
感谢您的回复。在ContainerViewController中,我只需要'var myFav:String!'来捕获该值?我试了一下,然后分配了值,并得到零。 @Iyyappan – kelsheikh
在'prepareForSegue'方法中设置断点,检查条件是真还是假? –
您的目的地是VC容器VC不是嵌入式的VC。您需要以某种方式从容器vc中提取嵌入的vc并直接设置文本,或者您可以使用容器视图做加载来做魔术 –