1

我有一堆存储在几个文件中的绘图代码(原始绘图,主要是贝塞尔路径绘图调用),并且绘图代码运行到大约几百行。我想知道是否可以从文件中读取此代码并在我的程序中的特定点执行它(可能是 UIView 的绘制方法),就像我们在 openGL 2.0 中使用着色器所做的那样。

我希望能够使用此代码进行绘图,但我不想将绘图代码复制到我正在使用的 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 回答