OGeek|极客世界-中国程序员成长平台

标题: ios - 读取自定义对象的数据以填充表格 View [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:34
标题: ios - 读取自定义对象的数据以填充表格 View

我已经像这样设置了一个自定义公司对象:

class Company: NSObject {

var companyName: String
var companyLogo: String
var stockPrice: String
init(companyName:String, companyLogo:String, stockPrice:String) {
self.companyName = companyName
self.companyLogo = companyLogo
self.stockPrice = stockPrice
}
}

我为每个对象赋予如下属性:

func companyList() -> [Company] {
let apple = Company(companyName: "Apple", companyLogo: "AppleLogo", stockPrice: prices[0])
let google = Company(companyName: "Google", companyLogo: "GoogleLogo", stockPrice: prices[1])
let twitter = Company(companyName: "Twitter", companyLogo: "TwitterLogo", stockPrice: prices[2])
let tesla = Company(companyName: "Tesla", companyLogo: "TeslaLogo", stockPrice: prices[3])
let samsung = Company(companyName: "Samsung", companyLogo: "SamsungLogo", stockPrice: prices[4])

return [apple, google, twitter, tesla, samsung]
}

我想用 Company 对象的数据填充 tableview 的标签 - 例如,我想设置 tableview 的标签以读取所有公司名称 - 使用公司名称字符串的硬编码数组(即不作为对象)很简单:

cell.textLabel.text = companyNames[indexPath.row]

既然我有一个 Company 对象,我该如何做同样的事情?



Best Answer-推荐答案


听起来您想将一个数组(公司)转换为另一个数组(公司名称)。这是 map 的好用处:

let companyNames = companyList().map({ $0.companyName })
cell.textLabel.text = companyNames[indexPath.row]

或者,你可以先找到合适的公司,然后是它的名字:

cell.textLabel.text = companyList()[indexPath.row].companyName

不需要中间数组,所以我建议第二个选择。

关于ios - 读取自定义对象的数据以填充表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620754/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4