我正在浏览 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
}
}