2017-07-30 17 views
0

所以我創建了一個視圖控制器有兩個TableViews和一個段控制。下面的代碼給了我兩個錯誤。我的代碼中的格式和錯誤的自定義TableView +段控制器

  1. (return serviceImage.count)給我一個錯誤,表示返回後的代碼永遠不會執行。

2.(cell.myReviewPic =圖像配的UIImage(名爲:reviewPhoto [indexPath.row]))返回意外發現零而展開的可選值

我的代碼中的錯誤

@IBAction func segmentedControlChanged(_ sender: Any) { 
    myTableServiceU.reloadData() 
    myTableService.reloadData() 
} 


@IBOutlet weak var segmentControl: UISegmentedControl! 
@IBOutlet weak var myTableServiceU: UITableView! 
@IBOutlet weak var myTableService: UITableView! 

let serviceName: [String] = ["Whataburger", "Red Lobster", "Pizzahut", "McDonalds", "Burger King", "Sushi Garden", "In & Out Burger", "Canes", "Jimmy Johns"] 

let serviceImage: [String] = ["place1,", "place2", "plac3", "place4", "place5", "place6", "place7", "place8", "place9"] 

let serviceNumber: [String] = ["38", "35", "29", "25", "23", "19", "17", "12", "11"] 

let brandPhoto: [String] = ["TK", "MC", "BA"] 


override func viewDidLoad() { 
    super.viewDidLoad() 

    myTableService.dataSource = self 
    myTableService.delegate = self 

} 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

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

    switch(segmentControl.selectedSegmentIndex) 
    { 
    case 0: 
     return brandPhoto.count 
    case 1: 
     return serviceName.count 
     return serviceImage.count 
     return serviceNumber.count 
     break 
    default: 
     break 
    } 

    return 0 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ServiceCell 


    switch(segmentControl.selectedSegmentIndex) 
    { 
    case 0: 
     cell.myReviewPic.image = UIImage(named: brandPhoto[indexPath.row]) 
     break 

    case 1: 
     cell.myServiceName.text = serviceName[indexPath.row] 
     cell.myServiceImage.image = UIImage(named: serviceImage[indexPath.row]) 
     cell.myServiceNumber.text = serviceNumber[indexPath.row] 
     break 

    default: 
     break 
    } 

    return cell 
} 

}

+0

你想用3個退貨來完成什麼? – nathan

回答

0
return serviceName.count 
return serviceImage.count // Line will be ignored 
return serviceNumber.count // Line will be ignored 

[...]返回後的代碼不會被執行。

這只是一個警告,因爲只有serviceName數組將返回它的計數。


cell.myReviewPic!.image = UIImage(named: reviewPhoto[indexPath.row])) 

意外發現零而展開的可選值

myReviewPic是零,您嘗試使用!到強制解開它。可能沒有通過IBOutlet連接到您的ServiceCell nib/xib。

相關問題