Справочный пример «Построение текстового редактора за 15 минут» не работает - PullRequest
0 голосов
/ 10 февраля 2010

Я пытаюсь работать с NSDocument, поэтому я попробовал пример Создание текстового редактора за 15 минут в справочнике "Обзор системы текста".

Я внес некоторые изменения в предложенный код, например, в свойство used и synthesize вместо объявления и определения методов доступа.

Я следовал каждому шагу, написанному в ссылке, но не смог выполнить шаг 5:

Если он еще не открыт, дважды щелкните MyDocument.xib, чтобы открыть окно документа в интерфейсе Builder. Из Xcode перетащите Значок файла MyDocument.h на окно документа MyDocument.xib. Этот шаг информирует MyDocument.xib файл, который является объектом MyDocument интерфейс теперь имеет переменную выхода с именем textView.

Когда я скомпилировал, он дал мне следующие предупреждения в подклассе NSDocument:

myDocument может не отвечать на setString

Окно MyDocument не появлялось, и это сообщение в консоли появлялось каждый раз, когда я пытался его выполнить:

- [MyDocument string]: нераспознанный селектор отправлен в экземпляр 0x215970

Может кто-нибудь подсказать, где я могу ошибаться? Я пытаюсь запустить его на Snow Leopard ... чтобы проверить код, вы также можете скачать его с здесь .

Ответы [ 2 ]

1 голос
/ 16 июня 2012

Я пытаюсь работать с NSDocument, поэтому я попытался создать текст Пример «Редактор за 15 минут» в справочнике «Обзор текстовой системы».

Я внес некоторые изменения в предложенный код, например, в свойство used и синтезировать вместо объявления и определения методов доступа.

Я знаю, что это довольно старая версия, но в примере использовался ивар NSAttributedString *mString;, поэтому вам нужно изменить имя или использовать что-то вроде:

@property(copy, getter=string, setter=setString:) NSAttributedString *mString;
0 голосов
/ 10 февраля 2010

Я не думаю, что шаг 5 действительно необходим в текущих инструментах XCode, потому что Interface Builder автоматически фиксирует эти изменения при сохранении файла заголовка. Я думаю, что это было добавлено в Xcode Tools 3.

Я не смотрел на ваш проект, но звучит так, как будто у вас есть несколько розеток, подключенных к неправильным вещам в вашем файле MyDocument.xib. Большая подсказка в том, что ваш MyDocument «не отвечает на селектор setString» ... тот факт, что это сообщение появляется, означает, что это именно то, что пытается сделать ваш проект. Учитывая тему руководства, которое вы используете, оно звучит как -setString: сообщение, предназначенное для вашего текстового представления, отправляется в ваш документ (Владелец файла в вашем MyDocument.xib).

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