2015-09-26 1 views
0

У меня такая же копия кода, вставленная в разные классы, только с измененным именем раскадровки. Как я могу сделать это так, чтобы уменьшить эффект копирования/вставки? У меня много классов с одним и тем же кодом. Использование Xcode 7Swift - Повторите тот же код в разных классах с одним изменяющимся элементом

EDIT: Извините. На самом деле меняется имя CLASS. Например: «... как! ViewController1».

let fromViewController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! ViewController1 
+0

«только имя раскадровки, что изменения»? Я запутался в какой бы то ни было функции. являются ли эти классы в одном проекте? – Lukas

+0

Если разные классы являются внутренними, но имеют другое имя, почему бы вам просто не использовать один тип класса для обработки всех ваших использований? – spektr

ответ

2

Просто введите новый класс, чтобы использовать повторяющийся код. Создайте функцию внутри этого нового класса, используя имя разных раскадровки. Такое было бы эффективным

class NewClass { 

    func functionFromStoryboard(name: String) { 
     // put copied code here 
    } 
} 

тогда, когда вы будете готовы, просто назвать его

// in other class, 
let n = NewClass() 
n.functionFromStoryboard("storyboardName") 

надеюсь, что это помогает

+0

Я отредактировал мой вопрос. Не могли бы вы взять добычу в разделе редактирования, пожалуйста? Я попытался поместить тип как AnyClass, AnyObject, UIStoryboard и String, но когда я изменяю имя класса на переменную аргумента, ошибка говорит: «*** не является типом», – SergeH