在swift中,如何在应用程序委托中实现变量,以便在应用程序中的任何位置检索该变量?
在swift中,如何在应用程序委托中创建变量,以便在应用程序中的任何位置检索该变量? 我不是在说NSManagedObject 我知道它是从以下几点开始的:在swift中,如何在应用程序委托中实现变量,以便在应用程序中的任何位置检索该变量?,swift,appdelegate,Swift,Appdelegate,在swift中,如何在应用程序委托中创建变量,以便在应用程序中的任何位置检索该变量? 我不是在说NSManagedObject 我知道它是从以下几点开始的: let appDelegate = UIApplication.shared.delegate as! AppDelegate 我有一个班主任 class Personne { var One: String var Two: Float } 和另一个创建单例的类: class PersonneController { var shar
let appDelegate = UIApplication.shared.delegate as! AppDelegate
我有一个班主任
class Personne {
var One: String
var Two: Float
}
和另一个创建单例的类:
class PersonneController {
var shared = Personne()
在我的应用程序中,我创建了这样一个实例:
var personne = Personne()
所以每个变量都是通过
personne.shared.myvariable
如何将personne放入应用程序委托中,以便从任何地方检索它?在类中
class AppDelegate..... {
var name:String?
}
然后
但是对于这一点,最好创建一个像
class Service {
static let shared = Service()
var name:String?
}
然后
甚至可以将其作为全局变量。在AppDelegate中创建“Personne”类的实例
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.blabla
(var personee=Personne())
二,。在AppDelegate中创建一个函数,该函数将返回AppDelegate的实例
类func appDelegate()->appDelegate
{
将UIApplication.shared.delegate返回为!AppDelegate
}
三,。你可以这样打电话
AppDelegate.AppDelegate()。persnee“为了在应用程序的任何地方检索它”虽然很诱人,但你绝对不希望这样。可以从任何地方访问的可变内容可以从任何地方更改,这意味着您无法轻松读取任何访问该值的代码。您的局部推理使您认为某些代码应该以一种方式运行,但它可以做完全其他的事情,因为其他模块可以在您脚下访问和更改全局值。它变成了一场真正的噩梦easily@Alexander-总的来说,你是对的,只是我采用的解决方案不同。这里有一个链接可以很好地解释这一点@莫妮卡,你真的很接近。你要找的是电话,也要检查一下
print(Service.shared.name)
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.blabla