ios - 如何将字典从一个视图控制器类传递到另一个?SWIFT
问题描述
我正在尝试在一个视图控制器中列出用户及其密码,将该信息保存在字典中,然后将该字典发送到另一个视图控制器,要求用户输入他们的用户名/密码组合以授权登录。(键是用户名,值是密码)。有没有办法可以将字典从 SecondVC 发送到 FirstVC?
First View Controller
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var Username: UITextField!
@IBOutlet weak var Verification: UILabel!
@IBOutlet weak var Password: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
Username.delegate = self
Password.delegate = self
}
var usersDict = [String : String]()
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let des = segue.destination as? AccountViewController {
des.usersDict = usersDict
}
}
@IBAction func Authorization(_ sender: Any) {
for ( key , value ) in usersDict{
let v = key.count
var start = 0
if start <= v{
if Username.text == key{
if Password.text == value{
Verification.text = "Looks Good"
}
}
else{
start += 1
}
}
else{
Verification.text = "Yikes"
}
}
}
}
Second View Controller
class AccountViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var CreateUsername: UITextField!
@IBOutlet weak var CreatePassword: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
CreateUsername.delegate = self
CreatePassword.delegate = self
// Do any additional setup after loading the view.
}
var usersDict = [ String : String ]()
@IBAction func MakeANewAccount(_ sender: Any) {
usersDict[CreateUsername.text!] = CreatePassword.text!
}
}
我在那里制作了字典,但它只会在开始时发送,并且在创建原始帐户后不会更新。(它正在发送的字典是空的)
解决方案
用segue在里面添加这个方法ViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let des = segue.destination as? AccountViewController {
des.usersDict = yourDicHere
}
}
推荐阅读
- linux - 以低延迟访问 PCI 内存条 (Linux)
- android - Restarting service after reboot by using Broadcastreceiver is not working
- asp.net-mvc - Cannot step into MVC4 methods
- spring-boot - SpringBoot:通过yml文件的ModelAttribute默认属性不起作用
- latex - LaTeX one column title and index in a two column document
- java - Why can't I run a Java program from another Java program?
- javascript - 如何用 jest 和 socket.io 结束测试
- javascript - Js自定义排序
- gimp - 使用 gimp 批量调整图像大小
- c# - C# Selenium 发送键