【问题标题】:Xcode: "Spurious Update" console warning?Xcode:“虚假更新”控制台警告?
【发布时间】:2015-07-26 02:22:31
【问题描述】:

我正在编写一个非常简单的 ObjC 应用程序。 (唯一较小的复杂性是它使用了一个名为 Chilkat 的外部库来进行一些基本的网络连接,但我认为这无关紧要。)

偶尔我的项目会自发弹出这个警告信息:

5 月 14 日 01:24:01 Neovenator-2.local 项目[22645]:无效 CGSUpdateManager::log() const: conn 0x4b29b: 虚假更新。

而且我不知道如何处理甚至解释它。我的项目中没有任何名为 CGSUpdateManager 的内容,而且我的项目在任何地方都没有调用 log() 函数。我什至无法可靠地复制它,但它经常出现足以提高我的兴趣水平。

在 Google 和此处搜索“虚假更新”一词揭示了一组略微分散的对话,但与我的项目无关。同时,谷歌搜索“CGSUpdateManager”显示它与 Swift 有关,我根本没有使用它。

谁能帮我理解这意味着什么?还是我应该忽略它?

【问题讨论】:

    标签: objective-c xcode


    【解决方案1】:

    确保在 viewDidLoad、viewWillAppear 和 viewWillDisappear 中调用 super。

    【讨论】:

    • 我什至没有挂钩任何这些函数,所以应该为所有这些函数原生调用 [super]。我正在使用的唯一函数是 applicationDidFinishLaunching 和 applicationWillTerminate - 它们都没有我可以调用的 [super] 等效函数(是的,我试过了)。
    • 我偶尔也会看到这个。我没有任何viewWillAppearviewWillDisappear 方法。我所有的viewDidLoad 方法在做任何其他事情之前都会调用super viewDidLoad];
    • 我收到了警告,我发现(没有 cmets):- (void)setNeedsDisplay { //#if 1 //TEST (suppose we are only called by us) if(wvImageRep_DoRebuild) //#endif [super setNeedsDisplay]; // "spurious update" ? } 在我评论这两行之后,不再有警告。但是恢复这些不会使警告肯定会出现...我认为,跟踪需要super的每个代码...
    【解决方案2】:

    抱歉,我的代码具有正确的突出显示/缩进:

    - (void)setNeedsDisplay
    {
    //#if 1    //TEST (suppose we are only called by us)
        if(wvImageRep_DoRebuild)
    //#endif
            [super setNeedsDisplay]; // "spurious update" ?
    }
    

    这是一个例子(@查看我的完整回复),它帮助了我

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2016-12-06
      • 2022-01-04
      相关资源
      最近更新 更多