我正在使用我的用户界面,试图通过一大堆嵌套的NSSplitViewControllers,NSTabViewControllers等来导航我的数据。
在某些时候,我收到这些错误警告。我不知道他们来自哪里,甚至在哪里看。该应用似乎工作正常。
什么是CGSUpdateManager,为什么抱怨?
void CGSUpdateManager::log() const: conn 0xdbbb token 0x2ffffffffffdc78 Backtrace (at 5543.57):
void CGSUpdateManager::log() const: 0 CoreGraphics 0x00007fff85db9215 CGSBacktraceCreate + 59
void CGSUpdateManager::log() const: 1 CoreGraphics 0x00007fff85dd8688 _ZN16CGSUpdateManager14disable_updateEv + 84
void CGSUpdateManager::log() const: 2 AppKit 0x00007fff897f3de5 -[NSWindow disableScreenUpdatesUntilFlush] + 127
void CGSUpdateManager::log() const: 3 AppKit 0x00007fff897b3250 -[NSView _gainedLayerTreeHostAncestor] + 385
void CGSUpdateManager::log() const: 4 AppKit 0x00007fff897b30ae -[NSView _recursiveGainedLayerTreeHostAncestor] + 27
void CGSUpdateManager::log() const: 5 AppKit 0x00007fff897b767a -[NSScroller _recursiveGainedLayerTreeHostAncestor] + 103
void CGSUpdateManager::log() const: 6 AppKit 0x00007fff89a1ea56 -[NSScroller _setSurfaceBacked:] + 213
void CGSUpdateManager::log() const: 7 AppKit 0x00007fff8998424f -[NSScrollView setScrollerStyle:] + 304
void CGSUpdateManager::log() const: 8 AppKit 0x00007fff8a01bf27 +[NSScrollerImpPair _updateAllScrollerImpPairsForNewRecommendedScrollerStyle:] + 426
void CGSUpdateManager::log() const: 9 CoreFoundation 0x00007fff914b5cbc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
void CGSUpdateManager::log() const: 10 CoreFoundation 0x00007fff913a71b4 _CFXNotificationPost + 3140
void CGSUpdateManager::log() const: 11 Foundation 0x00007fff917feea1 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
void CGSUpdateManager::log() const: 12 CoreFoundation 0x00007fff9141754c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
void CGSUpdateManager::log() const: 13 CoreFoundation 0x00007fff91409655 __CFRunLoopDoBlocks + 341
void CGSUpdateManager::log() const: 14 CoreFoundation 0x00007fff91409196 __CFRunLoopRun + 1814
void CGSUpdateManager::log() const: 15 CoreFoundation 0x00007fff91408838 CFRunLoopRunSpecific + 296
void CGSUpdateManager::log() const: 16 HIToolbox 0x00007fff8f30743f RunCurrentEventLoopInMode + 235
void CGSUpdateManager::log() const: 17 HIToolbox 0x00007fff8f3071ba ReceiveNextEventCommon + 431
void CGSUpdateManager::log() const: 18 HIToolbox 0x00007fff8f306ffb _BlockUntilNextEventMatchingListInModeWithFilter + 71
void CGSUpdateManager::log() const: 19 AppKit 0x00007fff897376d1 _DPSNextEvent + 964
void CGSUpdateManager::log() const: 20 AppKit 0x00007fff89736e80 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
void CGSUpdateManager::log() const: 21 AppKit 0x00007fff8972ae23 -[NSApplication run] + 594
void CGSUpdateManager::log() const: 22 AppKit 0x00007fff897162d4 NSApplicationMain + 1832
void CGSUpdateManager::log() const: 23 Well 0x0000000100019422 top_level_code + 34
void CGSUpdateManager::log() const: 24 Well 0x000000010001945a main + 42
void CGSUpdateManager::log() const: 25 libdyld.dylib 0x00007fff85b7b5c9 start + 1
答案 0 :(得分:2)
当我升级到El Capitan时,我开始看到同样的问题。
我最终将它追溯到我的代码库中的某个深层,之前没有引起任何问题...我有一个流浪的电话:
[NSGraphicsContext restoreCurrentContext];
之前这是一个问题...确保平衡这些调用...尤其是在早期返回的函数中!
[NSGraphicsContext saveCurrentContext];
[NSGraphicsContext restoreCurrentContext];
类似于CGContextSaveGState(ctx); CGContextRestoreGState()
答案 1 :(得分:0)
确保在viewDidLoad,viewWillAppear和viewWillDisappear中调用super。