在Int类型中找不到枚举案例

时间:2016-12-19 02:25:13

标签: ios swift enums int

我正在浏览 objective-c 中的教程并在 swift 中重新创建项目但是已经卡住了,无法弄清楚为什么Int类型的enum对于使用Int类型的switch语句是不可识别的(或者至少我认为它在我的脑海中)。

我得到的错误是:

  

Enum case' PVMapBoundary'在类型' Int'

中找不到

这是我目前的代码:

import UIKit


enum PVMapOption: Int {
    case PVMapBoundary = 0,
    PVMapOverlay,
    PVMapPins,
    PVMapCharacterLocation,
    PVMapRoute

}

class PVMapOptionsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {


    var selectedOptions = [Int]()

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


        let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "OptionCell")!

        switch (indexPath.row) {
        case .PVMapBoundary:
            cell.textLabel?.text = "Park Boundary";
            break;
        case .PVMapOverlay:
            cell.textLabel?.text = "Map Overlay";
            break;
        case .PVMapPins:
            cell.textLabel?.text = "Attraction Pins";
            break;
        case .PVMapCharacterLocation:
            cell.textLabel?.text = "Character Location";
            break;
        case .PVMapRoute:
            cell.textLabel?.text = "Route";
            break;
        default:
            break;
        }


        if self.selectedOptions.contains(indexPath.row) {
            cell.accessoryType = UITableViewCellAccessoryType.checkmark
        }else{
            cell.accessoryType = UITableViewCellAccessoryType.none
        }

        return cell
    }

}

0 个答案:

没有答案