避免在Objective C中重复代码

时间:2014-09-03 17:26:35

标签: c++ objective-c refactoring

我在C ++类中有两个非常相似的方法。唯一的区别是内部调用的Objective-C方法:

void MyClass::loadFromImage(UIImage *image)
{
    // ... Prepare dictionary and error

    GLKTextureInfo* info = [GLKTextureLoader textureWithCGImage:image.CGImage options:options error:&err];

    // ... Use GLKTexureInfo to load a texture
}

void Surface::loadFromImage(const char* imageName)
{
    // ... Prepare dictionary and error

    GLKTextureInfo* info = [GLKTextureLoader textureWithContentsOfFile:path options:options error:&err];

    // ... Use GLKTexureInfo to load a texture
}

如何将这两种方法结合起来以减少冗余代码?

我希望做类似于this thread的操作,但不确定语法在Objective-C中应该如何解决。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

替换

  

// ...准备字典和错误

  

// ...使用GLKTexureInfo加载纹理

使用两种版本的loadFromImage可以使用的方法。

Yay代码重用!