我是swift的新手,我创建了一个名称为mySession
的swift文件,在该文件中,我存储着如下所示的登录数据
存储登录数据
func setLoginData (data:Data) {
let preferences = UserDefaults.standard
let Key_Login = "Login"
preferences.set(data, forKey: Key_Login)
preferences.synchronize()
}
第二个功能用于存储数据
获取数据
func getLoginData ()->Data {
let preferences = UserDefaults.standard
let Key_Login = "Login"
if preferences.object(forKey: Key_Login) == nil {
return data
} else {
return preferences.data(forKey: Key_Login)!
}
}
所以现在我的问题是我想在我的应用程序委托中使用getLoginData函数来检查用户是否已登录,因此无法理解如何在应用程序委托中使用该函数
答案 0 :(得分:1)
您应该将这些方法封装在一个类中,并在AppDelegate
class MySession {
func setLogin(_ data: Data){...}
func getLoginData() -> Data {...}
}
在呼叫站点,实例化MySession
并使用您的方法执行所需的操作。
class AppDelegate {
//...
let sessionHandler = MySession()
sessionHandler.getLoginData()
}
边注,请确保您使用的是正确的Swift 4命名约定。
答案 1 :(得分:0)
首先将文件名导入AppDelegate
Import mySession
然后只需在所需的函数中调用该方法即可。
setLoginData(data:<your Data>)
例如。如果要以didFinishLaunchingWithOptions
方法使用它,请遵循
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
DefaultNetworkManager.appsConfigSetup()
window = UIWindow(frame: UIScreen.main.bounds)
setupApplication()
setLoginData(data: <Your Data>)
return true
}