簡體   English   中英

將兩種不同類型的對象作為一個函數變量傳遞

[英]Pass two different types of object as one function variable

我想創建一個函數,該函數需要UIViewController的兩個不同的子類。 一個是UITableViewController,一個是UIViewController(均繼承自UIViewController)。 在我的函數中,我想檢查一下ViewControllers的類型,以便在我的函數中訪問它們的屬性。 如果可能,我該怎么辦? 我已經厭倦了以下幾點:

internal func myFunction(var controller: UIViewController) {

        if controller is MyController {
            controller = controller as! MyController
        }
        // Get errors saying my MyController properties are not available. Type of UIViewController has no member.
}

如果我理解正確,那么您想知道哪種類型是您的參數。 如果是這樣,請使用這種方法:

internal func myFunction(controller: UIViewController) {

    if let menu = controller as? MenuController {
        //menu is you MenuCOntroller
    } else if let table = controller as? UITableViewController {
        //table is your UITableViewController
    }

}

暫無
暫無

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

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