如何将来自数组的数据放入标签Swift 3



我真的是Swift的新手,问题是我如何表示标签中数组的值。

我想要一个带有单元格的tableView,动态地表示从数组中的值到TableView行中创建的标签。

import UIKit
import Foundation

    class TableViewMarketItemsViewCell: UITableViewController {

        var fruits = ["Avocado", "Apricot", "Pomegranate", "Quince"]
        var PriceArray = ["1000 тг.","4000 тг.","3000 тг.","2000 тг."]
        var categoryArray = ["Green category","Maroon category","Red category","Yellow category"]
        // MARK: - UITableViewDataSource
        override func numberOfSections(in tableView: UITableView) -> Int {
            return 1
        }
        override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return fruits.count
        }
        override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) as! TableViewCell
           let fruitName = fruits[indexPath.row]

            cell.productTitle.text = fruitName
            cell.productImage.image = UIImage(named: fruitName)

            return cell
        }

        }

thnx提前

import UIKit
import Foundation

    class TableViewMarketItemsViewCell: UITableViewController {

        var fruits = ["Avocado", "Apricot", "Pomegranate", "Quince"]
        var PriceArray = ["1000 тг.","4000 тг.","3000 тг.","2000 тг."]
        var categoryArray = ["Green category","Maroon category","Red category","Yellow category"]
        // MARK: - UITableViewDataSource
        override func numberOfSections(in tableView: UITableView) -> Int {
            return 1
        }
        override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return fruits.count
        }
        override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) as! TableViewCell
           let fruitName = fruits[indexPath.row]

            cell.productTitle.text = fruitName
            cell.productImage.image = UIImage(named: fruitName)
            cell.productPrice.text = PriceArray[indexPath.row]
            cell.productsubTitle.text = categoryArray[indexPath.row]

            return cell
        }

        }

这对我有帮助。

在下面的图中结果:IMG

用于将数据插入uiateveviewcell以下代码:

import UIKit
class ViewController: UIViewController,UITableViewDataSource {
    @IBOutlet var tableView: UITableView!
    var dataArray:NSArray!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        tableView.dataSource = self
        dataArray = NSArray(objects: "a","b","c")
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataArray.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = dataArray.object(at: indexPath.row) as? String
        return cell
    }
}

tableView 是uitaiteView的出口。

您可以从类似的数组中填充UITableView:(假设您的数组具有字符串值列表(:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return array.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    // Creating the tableView cell
    let tableViewCell = tableView.dequeueReusableCell(withIdentifier: "tableViewCell", for: indexPath) as! UITableViewCell
    //Assigning values
    tableViewCell.lblName?.text = array.object(at: indexPath.row) as? String
    return tableViewCell
}

通过这种方式,您可以在tableView中显示从arraylabel的值。

最新更新