为啥框架集中两个子页面不能同时运行settimeout或者setInterval函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥框架集中两个子页面不能同时运行settimeout或者setInterval函数相关的知识,希望对你有一定的参考价值。

同上::我做的两个子页面中一个是用setinterval 另一个用settimeout 函数,可是只能一个运行 另一个就停了 这是怎么回事

参考技术A 可能你用了同一个赋值吧?


var a
a = setinterval……
……
a = settimeout ……
……
还有,settimeout调用的函数中也要有settimeout,这样才能不会停。
参考技术B 框架集 内的东西是 同时运行哦 setinterval 有循环功能 settimeout 只运行一次 参考技术C 应该是可以的。要看代码才会知道哦。 参考技术D 可以运行多个的...肯定是你的脚本的问题 第5个回答  2019-05-13 框架集
内的东西是
同时运行哦
setinterval
有循环功能
settimeout
只运行一次
答案补充
你这样做
会加大
程序执行的负载能力哦
就是运行速度会减慢

为啥我的 UICollectionViewController 不能与两个 CollectionView 一起运行?

【中文标题】为啥我的 UICollectionViewController 不能与两个 CollectionView 一起运行?【英文标题】:Why will my UICollectionViewController not run with two CollectionViews?为什么我的 UICollectionViewController 不能与两个 CollectionView 一起运行? 【发布时间】:2015-06-25 17:25:52 【问题描述】:

所以我正在开发一个需要在一个 CollectionViewController 中包含两个集合视图的应用程序。但是由于某种原因,每当我运行它时,我都会收到错误:

2015-06-25 13:23:23.601 Quorum[35215:6966756] * -[Quorum.ManageListsCollectionViewController loadView]、/SourceCache/UIKit/UIKit-3347.44/UICollectionViewController.m:171 中的断言失败 2015-06-25 13:23:23.604 Quorum[35215:6966756] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:'-[UICollectionViewController loadView] 加载了“5Oy-7X-AZf-view- 1bs-84-zCb" nib 但没有获得 UICollectionView。 *** 首先抛出调用堆栈: (0x183e982d8 0x1956bc0e4 0x183e98198 0x184d4ced4 0x188a57f24 0x1888d8a28 0x18898ef68 0x18898ee64 0x18898e2f0 0x18898df9c 0x18898dcbc 0x18898dc3c 0x1888d5760 0x18821de1c 0x188218884 0x188218728 0x188217ebc 0x188217c3c 0x1888cc56c 0x183e502a4 0x183e4d230 0x183e4d610 0x183d792d4 0x18d58f6fc 0x18893efac 0x10007aca8 0x195d3aa08) libc++abi.dylib:以 NSException 类型的未捕获异常终止

这是我的 CollectionViewController 代码:

import UIKit

let reuseIdentifier = "Cell"

class ManageListsCollectionViewController: UICollectionViewController, UICollectionViewDelegate, UICollectionViewDataSource 

    @IBOutlet weak var menuButton: UIBarButtonItem!
    @IBOutlet weak var ListView: UICollectionView!
    @IBOutlet weak var DetailView: UICollectionView!

    let ListViewIdentifier = "ListViewCell"
    let DetailViewIdentifier = "DetailViewCell"

    let sectionInsets = UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)


    override func viewDidLoad() 
        super.viewDidLoad()
        if self.revealViewController() != nil 
            menuButton.target = self.revealViewController()
            menuButton.action = "revealToggle:"
            self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        
        ListView.delegate = self
        DetailView.delegate = self

        ListView.dataSource = self
        DetailView.dataSource = self

       self.view.addSubview(ListView)
        self.view.addSubview(DetailView)





        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Register cell classes
        self.collectionView!.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)

        // Do any additional setup after loading the view.
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
        // Get the new view controller using [segue destinationViewController].
        // Pass the selected object to the new view controller.
    
    */

    // MARK: UICollectionViewDataSource

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int 
        //#warning Incomplete method implementation -- Return the number of sections
        if collectionView == self.ListView 
            return 1
         else

        return 1
        

    


    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
        //#warning Incomplete method implementation -- Return the number of items in the section
        if collectionView == self.ListView 
            return 20
        
        return 5
    


    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
        if collectionView == self.ListView 
            let cell: ListCell = collectionView.dequeueReusableCellWithReuseIdentifier(ListViewIdentifier, forIndexPath: indexPath) as! ListCell

            // Set up cell
            return cell
        

        else 
            let cell1: DetailCell = collectionView.dequeueReusableCellWithReuseIdentifier(DetailViewIdentifier,forIndexPath: indexPath) as! DetailCell

            // ...Set up cell

            return cell1
        

【问题讨论】:

似乎没有任何 UICollectionView 实例连接到控制器的视图属性,这是通过情节提要加载控制器时所需的 如果你需要在同一个视图控制器中有两个集合视图,我相信你需要使用一个普通的UIViewController和两个UICollectionViews。你不能使用UICollectionViewController @AdamPro13 为什么会这样? 【参考方案1】:

如果您需要在一个父视图中有两个集合视图,并且您想使用集合视图控制器管理这些集合,则需要使用控制器包含。您可以在 Interface Builder 中非常轻松地进行设置。

【讨论】:

以上是关于为啥框架集中两个子页面不能同时运行settimeout或者setInterval函数的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 React 应用程序中的两个点击事件会同时运行?

Jquery:怎样让子窗体的div显示在父窗体之上

C# 为啥两个线程不能同时等待一个Mutex 释放

为啥 jQuery 不能在 WordPress 页面上运行?

为啥我不能同时从 Java 执行不同的 Matlab 函数?

ArcEngine 添加多个要素为啥不能同时显示