Segue 将标题重置为原始 SWIFT
Segue reseting title to original SWIFT
我在一个应用程序中有一个 UIViewcontroller 和 4 个 table 视图。当我单击 UIViewcontroller 上的按钮时,它会跳转至名为 "Beach" 的 UItableviewcontioler。当用户单击 table 的单元格时,它会返回到 UIViewController 并将所选单元格标题显示为按钮标题。我遇到的问题是,当我点击另一个按钮进入 table 视图,然后点击该单元格时,之前的按钮标题设置回之前的标题。
我完成上述操作的方法是在 viewcontrller 中添加一个名为 "select beach" 和 "some String" 的变量。选择单元格后,变量会发生变化,从而改变按钮标题。虽然,这样做的问题是,一旦视图再次加载(当转到另一个 table 时),它会重置为 "Some String"
这个问题困扰我好久了!请帮忙!!
PS- 我正在使用 swift-2 和 Xcode7
这是预期的行为,因为您尝试显示的字符串仅在您初始化 运行 次后才存储在内存中。您想要实现的目标需要将数据存储在设备上并从那里读取。
可能且最简单的解决方案可能是使用 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 或第 3 方,例如用于数据库抽象的 Realm。
希望对您有所帮助。
我在一个应用程序中有一个 UIViewcontroller 和 4 个 table 视图。当我单击 UIViewcontroller 上的按钮时,它会跳转至名为 "Beach" 的 UItableviewcontioler。当用户单击 table 的单元格时,它会返回到 UIViewController 并将所选单元格标题显示为按钮标题。我遇到的问题是,当我点击另一个按钮进入 table 视图,然后点击该单元格时,之前的按钮标题设置回之前的标题。
我完成上述操作的方法是在 viewcontrller 中添加一个名为 "select beach" 和 "some String" 的变量。选择单元格后,变量会发生变化,从而改变按钮标题。虽然,这样做的问题是,一旦视图再次加载(当转到另一个 table 时),它会重置为 "Some String"
这个问题困扰我好久了!请帮忙!!
PS- 我正在使用 swift-2 和 Xcode7
这是预期的行为,因为您尝试显示的字符串仅在您初始化 运行 次后才存储在内存中。您想要实现的目标需要将数据存储在设备上并从那里读取。
可能且最简单的解决方案可能是使用 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 或第 3 方,例如用于数据库抽象的 Realm。
希望对您有所帮助。