У меня есть NSMutableArray
(содержащий NSMutableDictionary
экземпляров), связанный с NSArrayController
(NSArrayController
в свою очередь связан с NSTableView
столбцами).
Что является наиболее подходящим для какао и КВО способом, программно :
- добавить новый пустой объект (
NSMutableDictionary
) в массив?
- удаление выбранного в данный момент объекта? (после удаления следует выбрать предыдущий элемент, если он существует)
Я всегда делал это таким образом, который мне не особенно нравится - и я уверен, что это не лучший способ (слишком много строк кода для чего-то такого простого: в Какао, которое указывает на неправильно беру по теме: -)).
Мой код (на самом деле довольно излишне):
Добавление в массив
NSMutableArray* oldParams = [paramsArray mutableCopy];
[oldParams addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Parameter",@"Parameter",@"",@"Value", nil]];
[self setParamsArray:oldParams];
[paramsController setSelectionIndex:[paramsArray count]-1];
Удаление текущего выбранного объекта из массива
if ([paramsArray count]>0)
{
int s = [paramsController selectionIndex];
NSMutableArray* oldParams = [paramsArray mutableCopy];
[oldParams removeObjectAtIndex:s];
[self setParamsArray:oldParams];
if (s<=[paramsArray count]-1)
[paramsController setSelectionIndex:s];
else
[paramsController setSelectionIndex:[paramsArray count]-1];
}
Итак, что вы думаете об этом?