我试图从this answer实施解决方案,但我只是无法使其工作。我尝试访问的变量出现“使用未解决的标识符...”。
我有一个loginViewController.swift,当有人登录时会获取用户名和密码。
import UIKit
class loginViewController:UIViewController {
@IBOutlet weak var userEmailTextField: UITextField!
@IBOutlet weak var userPasswordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func loginButtonTapped(sender: AnyObject) {
let userEmail = userEmailTextField.text;
let userPassword = userPasswordTextField.text;
然后,我有一个PostService.swift文件,该文件从MySQL数据库获取数据。它应使用登录用户的用户名来访问相关数据。
import Foundation
类PostService {
var settings:Settings!
let userEmail = "[email protected]"; //This is hard coded but needs to come from the loginViewController
let userPassword = "1234"; //This is hard coded but needs to come from the loginViewController
我已经尝试过了,还提出了一些其他建议,但似乎无法使它正常工作..请帮助..
提前致谢。
最佳答案
你可以声明
var userEmail = "";
var userPassword = "";
在一个类之外(与哪个Swift类无关)。然后,删除
let
,@IBAction func loginButtonTapped(sender: AnyObject) {
userEmail = userEmailTextField.text;
userPassword = userPasswordTextField.text;
将存储变量,您将只能在
PostService
类中使用。但是,LoginViewController和PostService之间真的没有连接吗?您必须在某个地方调用PostService函数……也许您可以在此处传递变量?