如何从物品类别中获得物品

时间:2019-06-20 19:37:07

标签: ios swift

我在(表视图列表)动物中有一个单元格,我想从有关这些动物的信息类中获取,我要做的是获取动物的名称并将其放入该单元格中。

这是ViewController类

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{

    @IBOutlet weak var TableViewList: UITableView!

    var NotKiller = Array<Animal>()
    var Killer = Array<Animal>()
    var Sections = ["NotKiller", "Killer"]

    override func viewDidLoad() {
        super.viewDidLoad()
        loadAnimals()
    }

    @IBAction func buAllAnimals(_ sender: Any) {
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if section == 0 {
            return NotKiller.count

        } else {
            return Killer.count
        }
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return Sections.count
    }

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return Sections[section]
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

        if indexPath.section==0 {
            cell.textLabel?.text = "" //here where I want to add the name

        } else {
            cell.textLabel?.text = "" // here where I want to add the name
        }

        return cell
    } 
    func loadAnimals(){
    //here where I add the Items in to arrays
    }
}

这是动物类

import Foundation

class Animal {
    var Killing:String?
    var Name:String?
    var Des:String?
    var Image:String?

    init(Killing:String, Name:String, Des:String, Image:String) {
        self.Killing = Killing
        self.Name = Name
        self.Des = Des
        self.Image = Image
    }
}

2 个答案:

答案 0 :(得分:1)

这会做到

if indexPath.section==0 {
    cell.textLabel?.text = NotKiller[indexPath.row].Name
} else {
    cell.textLabel?.text = Killer[indexPath.row].Name
}

请注意,变量名应以小写字母开头,以方便区分类型名称。 Killer看起来像是类型,但实际上是变量。

答案 1 :(得分:0)

尝试一下:

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

    if indexPath.section==0 {
        cell.textLabel?.text = NotKiller[indexPath.row].name

    } else {
        cell.textLabel?.text = Killer[indexPath.row].name
    }

    return cell
}