Запись строки на диск в OPENSTEP (YellowBox) - PullRequest
2 голосов
/ 30 сентября 2010

Я отлаживаю старое приложение OPENSTEP (YellowBox), написанное на Objective-C, работающее в Windows 2000, построенное с помощью Project Builder.Единственный простой способ записать строку на диск в Obj-C - это [NSString writeToFile], метод эпохи Какао / iOS, который, кажется, еще не написан в версии OPENSTEP, с которой я компилирую(с использованием Project Builder, YellowBox для Windows 1.0, v365).

В основном я хотел бы записать подробности исключения на диск в обработчике исключений (используя блок NS_DURING..NS_HANDLER..NS_ENDHANDLER).

РЕДАКТИРОВАТЬ:

Прямо сейчас я получаю следующее предупреждение: 'NSString' does not respond to 'writeToFile:' Возможно ли, что есть какая-то другая причина (отсутствует #import и т. Д.)?

Ответы [ 3 ]

1 голос
/ 07 февраля 2013

Я смотрю на версию Yellow Box для Windows, включенную в WebObjects 4.0 (Project Builder v347.3).Сигнатура рассматриваемого метода - -writeToFile: atomically :, что задокументировано на текущем сайте разработчиков Apple .

Я думаю, если бы вы использовали этот метод вместо просто -writeToFile :,это будет работать как ожидалось.

1 голос
/ 30 сентября 2010

Я думал, что -writeToFile:* был доступен как исходный API OpenStep. На самом деле да, хотя бы один был (http://docs.sun.com/app/docs/doc/802-2112/6i63mn65q?l=Ja&a=view#05.Classes-243).

В любом случае, хуже становится хуже, вы можете использовать методы getString, чтобы заполнить буфер malloc() и затем записать это на диск.

0 голосов
/ 07 марта 2012

Если NSString не отвечает на writeToFile:, то вы можете либо добавить этот метод в класс (ваша собственная реализация), либо вывести строку и записать ее в файл (ваша собственная реализация),Как указывает @bbum, его там нет.(Привет, @bbum!)

...