2015-07-28 2 views
0

у меня есть обычай быстр класс как этотсобственность доступа из другого класса

class NichedHelper: NSObject { 
    private var _theController:UIViewController? = nil 
    var theController:UIViewController? { 
     get { 
      return self._theController 
     } 
     set { 
      self._theController = newValue 
      } 
     }... 

она имеет функцию реализации, как это и _theController проходящего класс Lobb, который унаследует UIViewController

func DoPump(from: String, theBoard: CGRect, overide: Bool) { 
    let abil:AnyObject = _theController! 
    abil.bottomConst.constant = -80 
} 

это бросить ошибку 'AnyObject' does not have a member named 'bottomConst' ,

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

мой второй вопрос, возможно ли, если я уверен, что класс Lobb (или другой класс) имеет переменную, называемую bottomConst, как я могу получить к ней доступ из класса NichedHelper?

ответ

0

Ну, я изменяю от прохождения UIViewController к NSLayoutConstraint

0

вы объявили _theController как частные, удалить которые просто объявить как

var _theController:UIViewController! 

// это как мы катимся в быстры;) до свидания Objective-C

0

Я не знаю точно что вы пытаетесь сделать и почему у вас есть два экземпляра UIViewController. Так что я не могу ответить на ваш первый вопрос, но относительно вашей второй, вы должны привести объект к UIViewController объекта:

func DoPump(from: String, theBoard: CGRect, overide: Bool) { 
    let abil:AnyObject = _theController as! UIViewController 
    abil.bottomConst.constant = -80 
} 

Это, по крайней мере, должны сделать компиляции ошибок прочь, если у вас есть bottomConst атрибут объявлен как переменная UIViewControllers в качестве extension (так как они не имеют этой переменной обычно.

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