在AppDelegate Swift中传递全局用户名

平底锅

在引发另一个问题后,我现在尝试在AppDelegate类中快速声明一个全局用户名变量。我的目标是让用户在启动屏幕上输入用户名,然后在其他视图的标签上弹出该用户名-简单地说就是通用用户名。

我在AppDelegate类中声明了用户名

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    var userName = ""

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

在我的主控制器中,我有一个标签和一个用于设置名称的按钮功能

class ViewController: UIViewController {

    @IBOutlet var userLabel : UILabel!

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func setName (){ 
        appDelegate.userName = userLabel.text!;

    }
}

当时的想法是,该名称将在我的player2控制器的标签中弹出

import Foundation
import UIKit

class Player2 : UIViewController {

    @IBOutlet var player2 : UILabel!

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.player2.text = appDelegate.userName as? String

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
达摩什·科尼(Dharmesh Kheni)

这是一种userNameViewController另一种传递到另一种的简便方法ViewController

//Set your userName with specific key 
@IBAction func setName (){
    NSUserDefaults.standardUserDefaults().setObject(userLabel.text, forKey: "userName")
}

之后,您可以通过以下方式以SecondViewController这种方式读取该值

override func viewDidLoad() {
    super.viewDidLoad()
    let userName = NSUserDefaults.standardUserDefaults().objectForKey("userName") as! String
    player2.text = "\(userName)"

}

您无需在AppDelegate类中声明任何变量

只需从userLabel.text您的ViewController课程中获取价值并进行存储即可。之后,您可以从NSUserDefaults项目中的任何位置读取它

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift:如何访问AppDelegate中的navigationController

来自分类Dev

在Swift中从AppDelegate获取ViewController的实例

来自分类Dev

`重复符号_main` Swift AppDelegate

来自分类Dev

为什么窗口在AppDelegate中为零

来自分类Dev

从AppDelegate(Swift)连接到ViewController

来自分类Dev

如何引用AppDelegate.swift中的方法?

来自分类Dev

Swift-从ViewController访问AppDelegate窗口

来自分类Dev

将AppDelegate.h和AppDelegate.m替换为AppDelegate.swift

来自分类Dev

如何使用Urban AirShip(Swift)获取appDelegate

来自分类Dev

从AppDelegate.swift执行Segue

来自分类Dev

解析-在AppDelegate中绕过登录

来自分类Dev

Swift中AppDelegate中的网络通话

来自分类Dev

Swift AppDelegate应用程序:didFinishLaunchingWithOptions错误

来自分类Dev

AppDelegate中的managedObjectContext函数

来自分类Dev

使用AppDelegate来回传递数据

来自分类Dev

建议在appDelegate iOS中保存用户名密码

来自分类Dev

从AppDelegate中的ViewController获取参数。

来自分类Dev

如何引用AppDelegate.swift中的方法?

来自分类Dev

Appdelegate.swift中的调用函数

来自分类Dev

从AppDelegate.swift执行Segue

来自分类Dev

Xcode Swift iBeacon,范围从AppDelegate

来自分类Dev

appdelegate中的NSURLSessionDataTask

来自分类Dev

Swift中AppDelegate中的网络通话

来自分类Dev

在AppDelegate中设置managedObjectContext

来自分类Dev

信号 sigabrt 委托 -> AppDelegate.swift

来自分类Dev

在 swift3 中从 AppDelegate 调用函数

来自分类Dev

了解 AppDelegate 中的保留计数

来自分类Dev

Swift 和 Firestore:AppDelegate 和 ViewControllers

来自分类Dev

从 ViewController 访问 AppDelegate 中的对象