gpt4 book ai didi

ios - 预期返回 'UITableViewCell' 和两个 tableView 的函数中缺少返回值

转载 作者:行者123 更新时间:2023-11-28 12:38:40 25 4
gpt4 key购买 nike

我用的是croll view,一个view里面有两个(或者很多)tableView像这样

layout

但在功能上:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

这是一个错误

missing return in a function expected to return 'UITableViewCell' error

但是我做到了

返回单元格

错误是怎么发生的?

class DetailViewController: UIViewController, UITableViewDataSource, UITableViewDelegate  {
@IBOutlet weak var scroll: UIScrollView!

@IBOutlet var recipesImageView: UIImageView!
@IBOutlet var tableView:UITableView!
@IBOutlet var tableView2: UITableView!

var recipes:Recipe!
var noodles:Recipe!
var snacks:Recipe!
var category: Int = Int()

@IBAction func segmented(sender: AnyObject) {
switch sender.selectedSegmentIndex {
case 0:
scroll.setContentOffset(CGPoint(x:0, y:0), animated: true)
case 1:
scroll.setContentOffset(CGPoint(x:375, y:0), animated: true)
case 2:
scroll.setContentOffset(CGPoint(x:750, y:0), animated: true)
case 3:
scroll.setContentOffset(CGPoint(x:1125, y:0), animated: true)


default:
print()
}
}

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
switch self.category {
case 0:
self.recipesImageView.image = UIImage(named: recipes.image)
title = self.recipes.name
case 1:
self.recipesImageView.image = UIImage(named: noodles.image)
title = self.noodles.name
case 2:
self.recipesImageView.image = UIImage(named: snacks.image)
title = self.snacks.name
case 3:
self.recipesImageView.image = UIImage(named: noodles.image)
title = self.noodles.name
case 4:
self.recipesImageView.image = UIImage(named: noodles.image)
title = self.noodles.name
default:
self.recipesImageView.image = UIImage(named: recipes.image)
title = self.recipes.name
}

self.tableView.backgroundColor = UIColor(red: 240.0/255.0, green: 240.0/255.0, blue: 240.0/255.0, alpha: 0.5)

//刪除多餘的隔線
self.tableView.tableFooterView = UIView(frame: CGRectZero)

self.tableView.separatorColor = UIColor(red: 240.0/255.0, green: 240.0/255.0, blue: 240.0/255.0, alpha: 1)

//title = self.recipes.name

tableView.estimatedRowHeight = 36.0;
tableView.rowHeight = UITableViewAutomaticDimension;

self.tableView.delegate = self
self.tableView.dataSource = self

self.tableView2.delegate = self
self.tableView2.dataSource = self

}

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

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var cellNum:Int?

if tableView == self.tableView {
cellNum = 4
}
else if tableView == self.tableView2 {
cellNum = 1
}

return cellNum!
}



func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


if(tableView == self.tableView) {
let cell: DetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! DetailTableViewCell
//cell.backgroundColor = UIColor.clearColor()
if self.category == 0 {
switch indexPath.row {
case 0:
cell.fieldLabel.text = "名稱"
cell.valueLabel.text = recipes.name
cell.amountLabel.text = ""

case 1:
cell.fieldLabel.text = "類型"
cell.valueLabel.text = recipes.type
cell.amountLabel.text = ""

case 2:
cell.fieldLabel.text = "收藏"
cell.valueLabel.text = (recipes.isFavor) ? "Yes" : "No"
cell.amountLabel.text = ""

case 3:
cell.fieldLabel.text = "食材"
cell.valueLabel.text = recipes.material
cell.amountLabel.text = recipes.amount
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
cell.amountLabel.text = ""
}
}

if self.category == 1 {
switch indexPath.row {
case 0:
cell.fieldLabel.text = "名稱"
cell.valueLabel.text = noodles.name
cell.amountLabel.text = ""

case 1:
cell.fieldLabel.text = "類型"
cell.valueLabel.text = noodles.type
cell.amountLabel.text = ""

case 2:
cell.fieldLabel.text = "收藏"
cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
cell.amountLabel.text = ""

case 3:
cell.fieldLabel.text = "食材"
cell.valueLabel.text = noodles.material
cell.amountLabel.text = noodles.amount
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
cell.amountLabel.text = ""
}
}

if self.category == 2 {
switch indexPath.row {
case 0:
cell.fieldLabel.text = "名稱"
cell.valueLabel.text = snacks.name
cell.amountLabel.text = ""

case 1:
cell.fieldLabel.text = "類型"
cell.valueLabel.text = snacks.type
cell.amountLabel.text = ""

case 2:
cell.fieldLabel.text = "收藏"
cell.valueLabel.text = (snacks.isFavor) ? "Yes" : "No"
cell.amountLabel.text = ""

case 3:
cell.fieldLabel.text = "食材"
cell.valueLabel.text = snacks.material
cell.amountLabel.text = snacks.amount
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
cell.amountLabel.text = ""
}
}

if self.category == 3 {
switch indexPath.row {
case 0:
cell.fieldLabel.text = "名稱"
cell.valueLabel.text = noodles.name
cell.amountLabel.text = ""

case 1:
cell.fieldLabel.text = "類型"
cell.valueLabel.text = noodles.type
cell.amountLabel.text = ""

case 2:
cell.fieldLabel.text = "收藏"
cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
cell.amountLabel.text = ""

case 3:
cell.fieldLabel.text = "食材"
cell.valueLabel.text = noodles.material
cell.amountLabel.text = noodles.amount
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
cell.amountLabel.text = ""
}
}

if self.category == 4 {
switch indexPath.row {
case 0:
cell.fieldLabel.text = "名稱"
cell.valueLabel.text = noodles.name
cell.amountLabel.text = ""

case 1:
cell.fieldLabel.text = "類型"
cell.valueLabel.text = noodles.type
cell.amountLabel.text = ""

case 2:
cell.fieldLabel.text = "收藏"
cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
cell.amountLabel.text = ""

case 3:
cell.fieldLabel.text = "食材"
cell.valueLabel.text = noodles.material
cell.amountLabel.text = noodles.amount
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
cell.amountLabel.text = ""
}
}
return cell
}
else if tableView == tableView2 {
let cell: MaterialDetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell2") as! MaterialDetailTableViewCell
//cell.backgroundColor = UIColor.clearColor()
if self.category == 0 {
switch indexPath.row {
case 0:
cell.materialLabel.text = recipes.material
default:
cell.materialLabel.text = ""
}
}
if self.category == 1 {
switch indexPath.row {
case 0:
cell.materialLabel.text = noodles.material
default:
cell.materialLabel.text = ""
}
}
if self.category == 2 {
switch indexPath.row {
case 0:
cell.materialLabel.text = snacks.material
default:
cell.materialLabel.text = ""
}
}
if self.category == 3 {
switch indexPath.row {
case 0:
cell.materialLabel.text = noodles.material
default:
cell.materialLabel.text = ""
}
}
if self.category == 4 {
switch indexPath.row {
case 0:
cell.materialLabel.text = noodles.material
default:
cell.materialLabel.text = ""
}
}
return cell
}
//-----------------------this line appear error
}


//避免被前面一頁的隱藏導覽列所影響
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

self.navigationController?.hidesBarsOnSwipe = false
self.navigationController?.setNavigationBarHidden(false, animated: true)
}

/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/

最佳答案

tableView != self.tableViewtableView != tableView2 时,您什么都不返回。这就是您看到此错误的原因。如果您确定无法达到此要求,请尝试删除您的 else if 条件

关于ios - 预期返回 'UITableViewCell' 和两个 tableView 的函数中缺少返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40111990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com