2014-09-24 5 views
0

Я новичок в программировании Swift и OS X.Как управлять экземпляром в другом контроллере представления

Я создаю настольное приложение с двумя контроллерами представлений, которые находятся в контроллере с раздельным представлением. Как я могу получить доступ к экземплярам в другом контроллере и изменить его атрибуты?

Пример:

У нас есть приложение для рисования, одна точка зрения холст, другие инструменты. В окне инструмента есть кнопка «clear», как установить прозрачность холста при нажатии этой кнопки?

ответ

0

Вы можете использовать делегаты и протоколы! Link to Official Apple Documentation

Heres быстрый пример:

protocol toolsProtocol { 
    func pressedClear() 
} 
var delegate : toolsProtocol 

В вашем холст класса

class Canvas: UIViewController, toolsProtocol { 
    Tools.delegate = self 
    func pressedClear() { 
     // Insert stuff happens here 
    } 
} 
1

Вы можете попробовать использовать одноплодной шаблон в вашем коде. При создании контроллера вида, поместите вар из класса, как:

var fooViewController = FooViewController(...) 

class FooViewController{ 
... 
} 

Затем вы можете использовать fooViewController в любом месте вашего проекта.

Если вы работаете с раскадровкой, вы можете попробовать такой код:

var story = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
var view:MainTabViewController = story.instantiateViewControllerWithIdentifier("MainTab") as MainTabViewController 

Надеется, что это может быть полезным.

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