Xcode - 通过dismissViewControllerAnimated在2个视图之间传递数据
Posted
技术标签:
【中文标题】Xcode - 通过dismissViewControllerAnimated在2个视图之间传递数据【英文标题】:Xcode - Passing datas between 2 views by dismissViewControllerAnimated 【发布时间】:2015-03-18 17:09:11 【问题描述】:我使用 dimissViewControllerAnimated 将视图从 Spring 插入变量 返回到 Spring 元素。同时,我的输入数据应该通过 Spring Element 类中的函数 unwindSecondView 从 Spring Insert Variables 传递回 Sprint Element。
但显然数据没有通过,我的数组:力和刚度仍然不包含值。有人可以就此提出建议吗?
来自 Spring 插入变量类的代码
class springInsertVariables : UIViewController
var forceVar = [Float] ()
var stiffVar = [Float] ()
@IBOutlet weak var forceEntered: UITextField!
@IBOutlet weak var stiffnessEntered: UITextField!
@IBAction func submit(sender: AnyObject)
forceVar.append((forceEntered.text as NSString).floatValue)
stiffVar.append((stiffnessEntered.text as NSString).floatValue)
println(forceVar) //This doesn't print on my output
println(stiffVar) //This doesn't print on my output
dismissViewControllerAnimated(true, completion: nil)
来自 Spring 元素类的代码
@IBAction func unwindSecondView(segue: UIStoryboardSegue)
if let svcspringinsertvariables = segue.sourceViewController as? springInsertVariables
self.force = svcspringinsertvariables.forceVar
self.stiffness = svcspringinsertvariables.stiffVar
println(force)
println(stiffness)
【问题讨论】:
您说 forceVar 和 springVar 不会从 Spring Insert 类打印到您的输出,这是否意味着它们没有设置在那里? 我的调试器没有打印出来 对,所以如果这些值没有打印出来,是不是意味着它们是空的,因此当你传递它们时它们是空的? 我不太确定是否为空,因为它不打印。 println 之前工作过,当我尝试通过情节提要创建一个回到 Spring Element 的转场时。 你在哪里实例化你的 forceVar 和stiffVar 变量?请使用该代码更新您的问题。 【参考方案1】:dismissViewControllerAnimated
实际上并没有使用展开转场。展开转场与其他转场一样,必须使用performSegueWithIdentifier
执行。
【讨论】:
以上是关于Xcode - 通过dismissViewControllerAnimated在2个视图之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章
XCODE / IOS - 通过 UIDocumentInteractionController 共享
通过 SSH 在 Xcode 6 下运行 xcodebuild 测试时超时