Ошибка при нажатии на программно определенный NSPopUpButton

Эта ошибка возникает только в определенные моменты времени (после создания нового документа). Если я сохраню и снова открою, это работает. Любая идея? У кого-то была такая же ошибка?

2013-03-23 11:36:52.977 Demiurge[97164:303] *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
2013-03-23 11:36:52.979 Demiurge[97164:303] (
    0   CoreFoundation                      0x00007fff89814b06 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff833c53f0 objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff897d91d7 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 119
    3   CoreFoundation                      0x00007fff897e76bb +[NSDictionary dictionaryWithObject:forKey:] + 59
    4   AppKit                              0x00007fff85b428c4 -[NSPopUpButtonCell _menuLocationForEvent:inCellFrame:ofView:] + 581
    5   AppKit                              0x00007fff85b430fd -[NSPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 132
    6   AppKit                              0x00007fff857cbbcc -[NSControl mouseDown:] + 820
    7   AppKit                              0x00007fff857c353e -[NSWindow sendEvent:] + 6853
    8   AppKit                              0x00007fff857bf674 -[NSApplication sendEvent:] + 5761
    9   AppKit                              0x00007fff856d524a -[NSApplication run] + 636
    10  AppKit                              0x00007fff85679c06 NSApplicationMain + 869
    11  Demiurge                            0x0000000100001772 main + 34
    12  libdyld.dylib                       0x00007fff83d377e1 start + 0
    13  ???                                 0x0000000000000003 0x0 + 3
)

Спасибо!

1 ответ

Вы не можете иметь ноль в NSDictionaries. Похоже, восстановление автосохраненного состояния нарушено. Не назначайте autosaveId кнопке и не формируйте правильный словарь-заполнитель без nils.

Другие вопросы по тегам