iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在应用首次加载时运行功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在 Swift中编写一个简单的待办事项列表,它将列表存储为字符串数组,然后在应用程序加载时从内存中调用它.

我有以下代码

var itemList = [String]()

func loadData() -> [String] {
    var arr = [String]()

    if NSUserDefaults.standardUserDefaults().objectForKey("storedData") != nil {
        arr = NSUserDefaults.standardUserDefaults().objectForKey("storedData")! as! [String]
    }
    else {
        arr = ["Nothing to do..."]
    }

    return arr
}

func saveData(arr: [String]) {
    NSUserDefaults.standardUserDefaults().setObject(arr,forKey: "storedData")
}

我遇到的问题是在何处调用loadData().这是一个具有两个视图控制器的应用程序(一个用于列表,一个用于添加项目设置),因此如果我在主视图控制器的viewDidLoad()中放置loadData()调用,则从内存中调用该数组每次切换回主视图控制器时(并覆盖).

在应用程序启动时,最好的地方在哪里调用它以便它只加载一次?

解决方法

编号viewDidLoad仅在应用启动时加载一次.每次viewcontroller更改时,都会调用viewWillApprear和viewDidAppear.

您还可以使用if let使代码更紧凑:

if let storedData = NSUserDefaults.standardUserDefaults().objectForKey("storedData") as! [String]{
     arr = storedData
  }

但是如果你想确保只加载一次,你可以将它放在applicationDidFinishWithOptions方法的AppDelegate文件中.

但是你必须在AppDelegate文件中创建一个可以从viewController访问的变量.

大佬总结

以上是大佬教程为你收集整理的ios – 如何在应用首次加载时运行功能全部内容,希望文章能够帮你解决ios – 如何在应用首次加载时运行功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: