簡體   English   中英

從另一個類訪問屬性

[英]access property from another class

我有一個這樣的自定義快速班

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

它具有這樣的實現功能和_theController傳遞繼承了UIViewController的Lobb類

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類訪問它?

您已將_theController聲明為private,刪除該聲明為

var _theController:UIViewController! 

//這就是我們快速滾動的方式;)再見Objective-C

我不知道您到底想做什么,為什么不擁有兩個UIViewController實例。 因此,我無法回答您的第一個問題,但是關於第二個問題,您必須將對象UIViewController轉換為UIViewController對象:

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

如果您在extension中將bottomConst屬性聲明為UIViewControllers的變量,則這至少應該消除編譯錯誤(因為它們通常沒有此變量)。

好吧,我從將UIViewController傳遞給NSLayoutConstraint進行了NSLayoutConstraint

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM