Как заставить NSTextView использовать конкретное хранилище NSTextStorage?

Есть ли способ установить свойство textStorage NSTextView для моего собственного NSTextStorage? Вы можете настроить NSTextContainer, поэтому есть ли способ сделать что-то вроде этого:

NSTextView *myTV = [[NSTextView alloc] initWithFrame:CGFrameMake(0,0,100,100) 
                                    withTextStorage:myTextStorage];

Если нет, есть ли способ заменить хранилище текста по умолчанию после создания экземпляра текстового представления? Нужно ли это делать путем создания подкласса NSTextView?


person zakdances    schedule 23.09.2013    source источник


Ответы (2)


Установите атрибутивную строку в текстовом хранилище.

[[myTV textStorage] setAttributedString:myTextStorage];
person TheAmateurProgrammer    schedule 23.09.2013
comment
Но разве это не просто замена строки NSTextStorage, а не самого объекта NSTextStorage? - person zakdances; 23.09.2013
comment
Ну, я сделал это раньше, и это сработало. Поскольку NSTextStorage является подклассом NSAttributedString, я предположил, что это работает. Попробуйте его и посмотрите, соответствует ли он требуемой функциональности. - person TheAmateurProgrammer; 24.09.2013

Помимо простой замены строки в хранилище, не похоже, что есть способ заменить сам объект NSTextStorage.

person zakdances    schedule 04.10.2013