0

我有一个为一堆图形加载绘图代码的类。它有点像这样:

if (type == RabbitGraphic)
{
     //a whole bunch of drawing code gets loaded into an object
}
else if (type == FrogGraphic)...

这个文件变得很长,我添加了更多的图形,编译/加载文件需要一段时间。我想知道,有没有一种方法可以将这些图形拆分为单独的文件而无需创建新对象?IE 是否有一些我可以做的机制:

if (type == RabbitGraphic)
{
      load file that has rabbit graphic code
}
4

3 回答 3

3

你为什么要避免创建一个新对象?在我看来,这里需要更多的 OOP。您应该有单独的类来实现特定于每种类型的各种图形代码,可以选择使用实现通用功能的父类。

于 2012-10-25T04:49:30.830 回答
1

我会将您所有的图形放在一个数据库中并通过网络加载它们 - 更容易维护并且不会影响移动设备上如此宝贵的磁盘空间。查看 heroku 教程并运行它。归根结底,它是应用程序堆栈到客户端层的出色设计,并且可以免费开发!

iOS 中的图像和应用程序/任何可以执行 HTTP 的端点

于 2012-10-25T04:45:02.427 回答
0

我想您可能正在寻找objective-c categories。它的要点是您可以像这样声明接口和实现:

@interface MyMainClass
@end

然后在另一个文件中,通常称为 MyMainClass+OtherStuff.h

@interface MyMainClass (OtherStuff)
@end

与@implementation 类似。该语法允许您做您正在寻找的事情:将相关方法分组到单独的模块中,而无需跨越类。

于 2012-10-25T05:46:07.203 回答