2

Project Builderで構築されたWindows2000で実行されているObjective-Cで記述された古いOPENSTEP(YellowBox)アプリをデバッグしています。Obj-Cでディスクに文字列を書き込むための唯一の簡単な方法は[NSString writeToFile]、コンパイル対象のOPENSTEPのバージョン(Projectを使用)ではまだ書き込まれていないように見えるCocoa/iOS時代のメソッドです。 Builder、YellowBox for Windows 1.0、v365)。

基本的に、例外ハンドラーのディスクに例外の詳細を書き込みたいと思います(NS_DURING..NS_HANDLER..NS_ENDHANDLERブロックを使用)。

編集:

現在、次の警告が表示されています。'NSString' does not respond to 'writeToFile:'他の原因(がない#importなど)がある可能性はありますか?

4

3 に答える 3

1

-writeToFile:*元の OpenStep API の時点で利用可能だと思いました。実際、少なくとも 1 つは (http://docs.sun.com/app/docs/doc/802-2112/6i63mn65q?l=Ja&a=view#05.Classes-243) でした。

いずれにせよ、さらに悪いことに、メソッドを使用してed バッファーgetStringを埋めてから、それをディスクに書き込むことができます。malloc()

于 2010-09-30T18:21:36.200 に答える
1

WebObjects 4.0 (Project Builder v347.3) に含まれる Windows 用の Yellow Box のバージョンを見ています。問題のメソッドの署名は -writeToFile:atomically: で、これはApple の現在の開発者向けサイト に記載されています。

-writeToFile: の代わりにこのメソッドを使用していれば、期待どおりに機能すると思います。

于 2013-02-07T03:19:17.177 に答える
0

NSStringが に応答しない場合はwriteToFile:、そのメソッドをクラスに追加する (独自の実装) か、文字列を取得してファイルに書き込む (独自の実装) かを選択できます。@bbum が示すように、そこにはありません。(こんにちは@bbum!)

于 2012-03-07T05:43:16.010 に答える