ios - 在应用程序委托中访问全局函数时出现问题
问题描述
我是 swift 新手,我创建了一个带有名称的 swift 文件,mySession
在该文件中我存储了如下所示的登录数据
存储登录数据
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 func 来检查用户是否已登录,因此无法理解如何在应用程序委托中使用该 func
解决方案
您应该将这些方法封装在一个类中,并在其中使用该类的实例AppDelegate
class MySession {
func setLogin(_ data: Data){...}
func getLoginData() -> Data {...}
}
在调用站点,实例化MySession
并使用您的方法来执行所需的操作。
class AppDelegate {
//...
let sessionHandler = MySession()
sessionHandler.getLoginData()
}
旁注,确保您使用正确的 Swift 4 命名约定。
推荐阅读
- node.js - UnhandledPromiseRejectionWarning:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
- python - 如何使用 pyplot 在线绘图?
- android - 什么是在 Android Studio 项目中创建 generated.xml google_maps_key?
- python - 我有以下测试代码。我怎样才能使这个条件为真
- java - 我的 OnNavigationItemSelectedListener kotlin android 有什么问题?
- java - 使用 Jackson 将 Xml 反序列化到列表失败
- react-native - 弃用 componentWillMount 后如何获取异步数据?
- javascript - Firebase 查询 startAt 始终返回至少一项
- java - Azure 存储 Java API:检查存储帐户是否支持安全传输或不使用 java SDK
- javascript - ReactJs中组件的“功能未定义”onClick函数内联?