Bhavin_m
Bhavin_m

Reputation: 2784

How to compare switch case with UIViewController as input in swift 2

I have some code in older version in swift, like bellow

let initVc:UIViewController? = self.initViewController!
        switch initVc {
            case let vc as ProductListViewController:
                pageMenu?.moveToPage(0)
            case let vc as OrderListViewController:
                pageMenu?.moveToPage(1)
            case let vc as CustomerListViewController:
                pageMenu?.moveToPage(2)
            default:
                pageMenu?.moveToPage(0)
        }

in above code self.initViewController is parent view controller from there this controller is pushed.

after updat to swift 2.0 gives and error, like bellow

Immutable value 'vc' was never used; consider replacing with '_' or removing it

Please suggest changes required to fulfil this requirement.

Upvotes: 1

Views: 2121

Answers (1)

Martin R
Martin R

Reputation: 539815

Equivalent code without assigning a value to an (unused) variable would be:

switch initVc {
    case is ProductListViewController:
        pageMenu?.moveToPage(0)
    case is OrderListViewController:
        pageMenu?.moveToPage(1)
    case is CustomerListViewController:
        pageMenu?.moveToPage(2)
    default:
        pageMenu?.moveToPage(0)
}

using the "type-casting pattern" is <Type>.

Upvotes: 9

Related Questions