2014-09-03 2 views
-1

У меня есть два очень похожих метода в классе C++. Единственное отличие заключается в методы Objective-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. Спасибо за помощь!

+0

Объектив-c не имеет дженериков. Вы не можете реализовать то, что они предлагают в этом потоке. – CrimsonChris

ответ

1

Заменить

// ... Подготовка словаря и ошибки

и

// ... Использование GLKTexureInfo для загрузки текстуры

с методами, которые могут использоваться обеими версиями loadFromImage.

Yay код повторное использование!

Смежные вопросы