Как получить доступ к объекту NSDocument из другого объекта, хранящегося в NSMutableArray? - PullRequest
0 голосов
/ 09 октября 2011

Это действительно расширение Как отобразить вычисленные значения в NSTableView?

Проблема :

У меня есть класс NSDocument, которыйсодержит два свойства: text (NSString) и phrases (NSMutableArray объектов NSO с NSString в них).В файле Doc NIB у меня есть TextView (для отображения фраз) с двумя столбцами.Первый столбец связан с ArrayController и отображает NSString.Это работает хорошо.Я хочу подсчитать количество вхождений NSString в text и отобразить это во втором столбце.

Что я пробовал :

Определить статический var в моем NSObjectэто будет указывать на TextView.Как только NIB будет загружен, он установит этот статический var в TextView, который содержит строку text.

Это будет нормально, если я открою одно окно.Но если я попытаюсь открыть несколько окон, статическая переменная будет обновляться новыми экземплярами TextView (из других окон).Очевидно, что это нарушает все.

Вопрос :

Как мне получить доступ к text от каждого из объектов NSObject?Другими словами, объектная диаграмма - NSDocument - (содержит один) -> NSMutableArray - (содержит несколько) -> NSObject, так как мне получить NSDocument из NSObject?

1 Ответ

1 голос
/ 11 октября 2011

Вместо массива строк используйте массив словарей:

    NSDictionary *entry = [NSDictionary dictionaryWithObjectsAndKeys:
                                          thePhrase, @"phrase",
                                          theCount, @"count",
                                          nil];
    [theArray addObject:entry];

Привязка к arrangedObjects.phrase и arrangedObjects.count.

В качестве альтернативы вы можете создать класс Phrase, который будет содержать фразу, ссылку на документ и код для подсчета количества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...