首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据点击的单元格更改视图控制器中的数据

如何根据点击的单元格更改视图控制器中的数据
EN

Stack Overflow用户
提问于 2019-06-27 02:03:20
回答 2查看 46关注 0票数 0

我在做一个作业,在ViewController A,我有三个细胞,钙,碱度,镁。我需要根据在ViewController A中点击的电池来更新ViewController B。也就是说,如果点击了碱度,ViewController B上的标签应该显示为“碱度”,如果点击了钙,ViewController 2应该显示为钙等。

我应该为每个单元格创建一个段吗?或者我可以通过代码做到这一点?

我试着使用了segue,但我觉得它似乎适用于许多segues……我在考虑使用cell标签?

目前还没有错误

EN

回答 2

Stack Overflow用户

发布于 2019-06-27 02:38:38

如果您使用一个简单的段在视图控制器之间移动,而不是将数据从一个控制器传递到另一个控制器,那么您可以这样做。

您需要在ViewControllerA中实例化title变量。

代码语言:javascript
复制
var elementName : String?   

使用函数prepare(for segue: UIStoryboardSegue, sender: Any?)

代码语言:javascript
复制
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if(segue.identifier == "SEGUE IDENTIFIER HERE") {
       var vc = segue.destinationViewController as ViewControllerB 
       vc.title = elementName
    }      
}

还需要在ViewControllerB中实例化title变量。

代码语言:javascript
复制
var title : String? 

如果你发布你的代码,我可以给你更具体的帮助,否则这是你可以用来完成这项任务的流程

票数 0
EN

Stack Overflow用户

发布于 2019-06-27 03:17:47

您可以在viewController B上创建一个公共变量,

public var componentName : String?

然后从ViewController A传递所选值(来自did select方法)。

代码语言:javascript
复制
let ViewB = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewcontrollerB")
ViewB.componentName = componentName //get this component name from index path
self.navigationController?.show(ViewB, sender: nil)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56778682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档