【问题标题】:Swift - Load ViewController in backgroundSwift - 在后台加载 ViewController
【发布时间】:2017-08-22 09:57:32
【问题描述】:

我有一个视图控制器,在数组中包含大量图像。当我按下将我带到 View Controller 的按钮时,加载大约需要 8-15 秒。现在我想制作一个加载屏幕,这样每次应用启动时,视图控制器都应该在后台加载。

我该怎么做?

谢谢!

【问题讨论】:

  • 你可以试试下面的answer

标签: ios swift uiviewcontroller


【解决方案1】:

与最终用户体验相关的最佳方法是使用活动指示器

您应该将其正常添加到您的 ViewController 并将其与您的 swift viewController'file 相关联。

当加载开始时,你必须开始“旋转”你的活动指示器:通过这种方式用户“理解”“一些东西将在一段时间内加载”。

加载完成后,您必须将其隐藏

此外,如果您想确保在 加载视图控制器本身之后添加图像,请通过 viewWillAppear 方法加载它们,而不是 viewDidLoad

【讨论】:

    【解决方案2】:

    不要在 ViewDidLoad() 中加载图像

    使用它来加载图像

    DispatchQueue.main.async {
    
    }
    

    【讨论】:

      【解决方案3】:

      希望这对您的后台队列和主队列操作有帮助!!!!

      func bgQueue(queueName: String, completion codeBlock: @escaping ((Bool) -> Void)) {
      
              DispatchQueue.global(qos: .background).async {
                  codeBlock(true)
              }
          }
      
      func mainQueue(codeBlock: @escaping ((Bool) -> Void)){
              DispatchQueue.main.async {
                  codeBlock(true)
              }
          }
      

      【讨论】:

      • Swift 中的方法应该以小写字母开头。
      • 对了,方法为什么要以小写字母开头?
      • 伙计们它的编码标准,不是强制性的!!!!或者它不会给你任何类型的编译或运行时错误......
      • 当然,Bhavesh,但编码标准的存在不仅仅是为了存在。他们有一个目的。如果您忽略标准,您的代码对其他人来说看起来很有趣(甚至是错误的)。不要孤立自己。遵守标准。 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2020-03-25
      • 2021-05-28
      • 2015-10-14
      相关资源
      最近更新 更多