认为重置原始SWIFT的标题

时间:2016-10-28 05:31:30

标签: swift xcode swift2 xcode7 segue

我在应用中有一个UIViewcontroller和4个tableviews。当我点击UIViewcontroller上的一个按钮时,它会转到名为“Beach”的UItableviewcontioler。当用户单击表格的单元格时,它会回到UIViewController,并将所选单元格标题显示为按钮标题。我遇到的问题是当我点击一个nother按钮到tableview然后点击单元格时,之前的按钮标题会回到之前的标题。

我完成上述操作的方法是在viewcontrller中添加一个名为“select beach”的变量,其中包含“some String”。在选择单元格之后,变量发生变化,从而改变按钮标题。虽然,这样做的问题是,一旦视图再次加载(当被调用到另一个表时),它将重置为“Some String”

我多年来一直坚持这个问题!请帮助!!

PS-我正在使用swift-2和Xcode7

1 个答案:

答案 0 :(得分:0)

这是预期的行为,因为您尝试显示的字符串仅在初始化运行时后存储在内存中。您要实现的目标需要将数据存储在设备上并从那里读取。

可能和最简单的解决方案可能是使用NSUserDefaults

let persistenceStoreKey = "MyStringKey"
let stringToStore = "MyString"

// Store data
NSUserDefaults.standardUserDefaults().setObject(stringToStore, forKey: persistenceStoreKey)
NSUserDefaults.standardUserDefaults().synchronize()

// Get data
let myString = NSUserDefaults.standardUserDefaults().stringForKey(persistenceStoreKey)

请注意,NSUserDefaults最适合存储简单值。如果要在设备上存储复杂结构,请考虑使用CoreData或第三方,例如Realm进行数据库抽象。

希望这有帮助。