故事板连续和返回
Posted
技术标签:
【中文标题】故事板连续和返回【英文标题】:Storyboards segues and back 【发布时间】:2015-12-11 02:49:06 【问题描述】:我有两个通过 segue 连接的 ViewController:第一个有许多用于用户输入的 TEXT FIELD 和一些用于执行计算的 LABELS。有一个按钮(storyboard segue)将用户发送到有一些图片的第二个 Storyboard,在这第二个 ViewController 中有一个按钮(storyboard segue)可以带回第一个 ViewController。 当用户返回到第一个 ViewController 时,所有 TEXT FIELDS/LABEL 都是空白的。用户将需要使用第一个 VC 中的数据,因为他需要从 VC1 到 VC2 再返回。那里是一个按钮,当用户想要执行另一个会话时将清除所有数据,在应用程序关闭后无需保留数据。非常欢迎任何帮助。
【问题讨论】:
【参考方案1】:我认为您可以创建一个类来将数据保存在全局会话中。
class Session:NSObject
static var textfieldA = ""
...
class func clearAll()
Session().textfieldA = ""
...
// In VC1
// to set string
Session().textfieldA = "abc"
// to get string
anystring = Session().textfieldA
// to clear all
Session().clearAll()
【讨论】:
【参考方案2】:您可以创建一个NSObject
类,并可以在那里保存变量,这样当您转到第一个视图控制器时,您可以从那里获取值并设置它们。同样,如果您想在应用程序关闭时保存它们,也可以使用NSUserDefaults
。另一种方法是创建Singletons
并从任何地方访问它们。
如果你要创建一个Push Segue
,那么在返回按钮上你可以Pop
,并且第一个视图控制器中的文本字段数据将保持不变。
【讨论】:
我认为使用 NSUserDefaults 会有点矫枉过正,因为@Manolo 提到在应用关闭后无需保留它们。以上是关于故事板连续和返回的主要内容,如果未能解决你的问题,请参考以下文章
从 UITableviewcell 移动到 ViewController 并使用故事板返回