ios - Swift:需要将使用按钮存储的数据移动到另一个 View Controller

标签 ios swift

使用按钮收集电话号码,然后在按钮功能下读取并存储电话号码。

@IBAction func viewRewardsButtonTapped(_ sender: UIButton) {    
    view.endEditing(true)
    // Validate format
    let phoneNumberInput = phoneInput.text
}

有没有更好的方法来存储电话号码phoneNumberInput并将其获取到另一个UIViewController

我目前无法让其他 UIViewController 识别存储在 @IBAction 函数下的变量。

最佳答案

您可以使用UserDefaults:

// Set phone number
UserDefaults.standard.set(phoneInput,text, forKey: "phoneNumber")

// Get phone number
UserDefaults.standard.string(forKey: "phoneNumber")

或者,如果您想在单击按钮的同时进行继续操作,请使用以下命令:

self.performSegue(withIdentifier: "showVC2", sender: phoneNumber.text)

override func prepare(for segue: UIStoryboardSegue, sender: Any!) {
    if (segue.identifier == "showVC2") {
        if let phoneNumber = sender as? String {
            let vc = segue.destination as! YourSecondVC
            vc.phoneNumber = phoneNumber
        }
    }
}

因此,您基本上创建了 segue,并在第二个 VC 中为 phoneNumber 声明了一个变量,以便可以将值传递给它。

关于ios - Swift:需要将使用按钮存储的数据移动到另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950993/

相关文章:

ios - 带有 NSValue 的 Swift NSCoding

ios - Collection View 更新问题 - Swift

swift - SQLite.swift 导致 Operator 不是已知的二元运算符

ios - XCode: 'pod init' ruby​​ json "incompatible library version"错误失败

iphone - 当用户滚动到tableView的底部时,如何向UITableView添加10条记录

ios - 'NSInvalidArgumentException' - [UIViewController tableView :numberOfRowsInSection:] - unrecognized selector sent to instance

ios - Realm token 有什么用?

ios - 细节披露按钮颜色全局色调

ios - 如何在重新加载时清除 UICollectionViewCell?

swift - 如何将网络浏览器放入 ios 应用程序?