1

私は次の問題を抱えています: C で書かれたコードの一部を使用する (通常どおり) Objective-C で書かれた iOS アプリ。C コードはアプリケーションのコアであり、Objective-C で書かれたコードは C によって行われるジョブを使用します。アプリケーション全体を調整します。

その仕事をするために、C コードは設定ファイルから何かを読み取ります。その名前は C ファイルにケーブル化されています。(C コードで) コンパイル時ではなく実行時にファイルの名前を読み取ることは可能ですか? アイデアは、Objective-C で文字列を変更し、C コードにその文字列を読み取らせることです。

4

2 に答える 2

4

Cファイルにハードコーディングされたファイル名があるようです。これは良い設計ではありません。iOS アプリケーションでは、自分のパス名が何なのかわかりませんし、現在のフォルダーの概念は GUI アプリでは混乱しています。ファイル名を C 関数のパラメーターにして、Objective C 側からフル パスと共に渡します。ファイルの配置に応じて、アプリのバンドル、ドキュメント フォルダー、またはその他の場所に配置できます。

はい、ファイル名を定数ではなく変数にすることができます。変数のデータ型はchar*.

編集 re: コメント: これを回避するには、ObjC 側から現在のフォルダーを設定してみてください。C 関数を呼び出す前に、を呼び出し[NSFileManager setCurrentDirectoryPath:]て、ファイルがあるフォルダーを渡します (繰り返しますが、それが何であるかはわかりません)。次に、ハードコードされたファイル名が機能します。

于 2013-09-24T15:55:43.917 に答える