У меня есть NSTableView в плавающем окне, которое динамически привязывается к свойству arrangedObjects
экземпляра NSArrayController, соответствующего самому переднему окну документа, с кодом, подобным следующему:
NSArrayController *documentSpecificArrayController; // properly set elsewhere
NSTableColumn *tableColumnToBind; // properly set elsewhere
[tableColumnToBind unbind:NSValueBinding];
[tableColumnToBind bind:NSValueBinding
toObject:documentSpecificArrayController
withKeyPath:@"arrangedObjects"
options:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES],
NSContinuouslyUpdatesValueBindingOption,
nil]];
Пока представленный массив / табличное представление пусты, все работает нормально; все различные операции с табличным представлением / представленным массивом в одном документе работают нормально. Если перейти от документа с непустым представленным массивом к документу, для которого представленный массив пуст, генерируется бесконечный поток *** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (0)
исключений.
Мне не хватает чего-то, что мне нужно сделать, чтобы аккуратно разорвать привязку при переключении окон? Что-то другое? (Есть ли какая-то конкретная информация, которую я пропустил, которая помогла бы диагностировать мою ошибку?)