1

私はいくつかのファイルに保存された一連の描画コード (プリミティブ描画、主にベジェ パス描画呼び出し) を持っており、描画コードは約数百行まで実行されます。このコードをファイルから読み取り、プログラムの特定のポイント (おそらく UIView の draw メソッド) で実行できるかどうかを知りたいと思いました。

このコードを使用して描画を実行できるようにしたいのですが、使用している UIView クラスに描画コードをコピーしたくありません。これは、維持するのが面倒になり、読み取りが困難になるためです。さらに、そのようなファイルがたくさんあります。

既存のフレームワークを使用してファイルの内容を読み取ることができることは知っていますが、この描画コードを実行する必要があるファイルの内容を読み取って実行できるものはありますか?

どんなアイデア/ヘルプも大歓迎です!

4

2 に答える 2

1

あなたが本当に欲しいのはカテゴリだと思います(https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html)。たとえば、すべての描画コードを含む UIView でカテゴリを作成し、それを必要とするビュー サブクラスにカテゴリをインポートし、必要な場所でメソッドを呼び出します。Apple が iPhone 上でコードをコンパイルすることを許可しないことは確かです (シェーダーは明らかに例外です)。

于 2013-10-08T06:52:51.957 に答える
0

これは、コード形式のファイルの行を読み取り、実行時に実行可能にすることはできません。描画コードを含む UIView クラスをサブクラス化するか、このクラスのカテゴリを作成して、要件に応じてそのコードを呼び出すことができます。

于 2013-10-08T07:05:23.997 に答える