繁体   English   中英

'NSInternalInconsistencyException',原因:“仅在主线程上运行!” 迅捷4

[英]'NSInternalInconsistencyException', reason: 'Only run on the main thread!' swift 4

嗨,大家只是想知道您是否可以帮助我调试此错误,但是会出现此错误,但是只有当我将ui文本视图添加到视图控制器时,这里才是视图控制器代码的所有内容,您可以看到我尝试了dispatchQueue但没有做任何事情。

import UIKit

    class ViewController: UIViewController {

        override func viewDidLoad() {
            super.viewDidLoad()

            DispatchQueue.main.async {
            weak var textview: UITextView!
            }
        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }

在viewDidLoad之外声明变量

    import UIKit

    class ViewController: UIViewController {

       var textview: UITextView!


                override func viewDidLoad() {
                    super.viewDidLoad()
                }

                override func didReceiveMemoryWarning() {
                    super.didReceiveMemoryWarning()
                }
            }

看起来您正在从非主线程使用此控制器。 我认为您正在尝试从某些关闭或异步调用中显示控制器。 您必须确保您的UI仅从主线程调用。

您也可以调试它。 在创建/实例化此控制器设置的断点并注意XCode中的调试导航器之前,您将能够看到程序在哪里停止了,是否是主线程。 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM