gpt4 book ai didi

swift - 快速保存标签的数据

转载 作者:行者123 更新时间:2023-11-28 13:20:25 25 4
gpt4 key购买 nike

我的 settingsController 中有一个 TextField,我可以修改它,从 pickerView 中选择一个名称,问题是这样的:当我更改我的 textField 的文本时,我也更改了另一个 Controller 中的标签文本,它工作但是当我关闭并重新打开我的应用程序时,标签是空的,我无法找到一种方法来保存我通过 pickerView 提供的文本。

我在settingsController中的代码

override func viewDidLoad() {
super.viewDidLoad()


var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()

if let firstNameIsNotNill = defaults.objectForKey("firstName") as? String {
self.currencyLabel.text = defaults.objectForKey("firstName") as String
}

currencyLabel.delegate = self
}

func currencyDoneClicked(sender: UIBarButtonItem) {

var myRow = picker.selectedRowInComponent(0)
currencyLabel.text = pickerData.objectAtIndex(myRow) as NSString
DataManager.sharedInstance.contenitore = currencyLabel.text
var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(self.currencyLabel.text, forKey: "firstName")
defaults.synchronize()
}

数据管理器:

import UIKit

class DataManager: NSObject {

class var sharedInstance:DataManager {
get {
struct Static {
static var instance : DataManager? = nil
static var token : dispatch_once_t = 0
}

dispatch_once(&Static.token) { Static.instance = DataManager() }

return Static.instance!
}
}

var contenitore : String!
}

在另一个 Controller 中:

    override func viewDidLoad() {
super.viewDidLoad()

labelCurrency.text = DataManager.sharedInstance.contenitore
}

最佳答案

只需使用 NSUserDefaults

NSUserDefaults.standardUserDefaults().setValue(textField.text, forKey: "savedTextField")

然后,当您再次启动时,填充 viewDidLoadviewWillAppear 中的字段。

if let text = NSUserDefaults.standardUserDefaults().stringForKey("savedTextField") {    
textField.text = text
}

关于swift - 快速保存标签的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com