2017-07-30 15 views
0

したがって、2つのTableViewとセグメントコントロールを持つView Controllerを作成しました。以下のコードは私に2つのエラーを与えます。カスタムTableView +セグメントコントローラ用のコードのフォーマットとエラー

  1. (return serviceImage.count)戻りコードは決して実行されないというエラーが表示されます。

2.(cell.myReviewPic .image = 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がnilである任意の値をアンラップしながら、nilを見つけ、あなたは!を使用してそれを強制-アンラップしようとしています。 IBOutletを介してServiceCell nib/xibに接続できない可能性があります。