Ios 如何从结构加载UITableView单元格中的数据
我试图将数据从结构加载到表视图单元,我创建了一个自定义单元,其中有三个标签。我在视图控制器中有三个文本字段和一个add按钮,我希望当我填充这三个文本字段并按add时,它会将这三个值存储在一个结构中,并重新加载表视图的数据。结构位于其他文件中 下面是DataMaster.swift中的结构代码Ios 如何从结构加载UITableView单元格中的数据,ios,uitableview,swift,struct,Ios,Uitableview,Swift,Struct,我试图将数据从结构加载到表视图单元,我创建了一个自定义单元,其中有三个标签。我在视图控制器中有三个文本字段和一个add按钮,我希望当我填充这三个文本字段并按add时,它会将这三个值存储在一个结构中,并重新加载表视图的数据。结构位于其他文件中 下面是DataMaster.swift中的结构代码 struct jobData { var CompanyName:Array<String> = ["ram"] var job:Array<String> = ["
struct jobData
{
var CompanyName:Array<String> = ["ram"]
var job:Array<String> = ["shyam"]
var desc:Array<String> = ["dfdf"]
}
问题出在这段代码中
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as jobTableViewCell
cell.compLabel.text = data.CompanyName[indexPath.row]
cell.jobLabel.text = data.job[indexPath.row]
cell.descLabel.text = data.desc[indexPath.row]
return cell
}
当它到达此代码以加载表中的数据时,它崩溃
线程1:EXC_断点(code=EXC_I386_BPT,子代码=0x0
)
下面是代码
struct jobData
{
var CompanyName:String!
var job:String!
var desc:String!
}
将数组设为var data=[jobData]()
现用方法
@IBAction func addButtonTapped(sender: AnyObject) {
var company = txtCompName.text
var job = txtJob.text
var description = txtDesc.text
let dataObject = jobData(company: company, job: job, desc: description)
datas.append(dataObject)
self.jobTableView.reloadData()
txtCompName.resignFirstResponder()
txtJob.resignFirstResponder()
txtDesc.resignFirstResponder()
}
现在使用CellForRowatinex方法
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as! jobTableViewCell
let data = datas[indexPath.row]
if let companyName = data.CompanyName {
cell.compLabel.text = companyName
}
if let job = data.job {
cell.jobLabel.text = job
}
if let descr = data.desc {
cell.descLabel.text = descr
}
return cell
}
在numberofRowsInSection方法中返回datas.count
检查data.CompanyName为什么为空,并确保所有文本字段都包含文本。好问题,我来看看你是否创建了结构数组?Ashish kakkad爵士看看代码,我在结构中使用了数组为什么你在结构中创建属性作为数组。相反,您可以创建结构数组。这很简单。在numberOfRowsInSection中返回什么值?。它应该是数据结构中的一个数组的计数,例如,应用更改(如上所述)后,应用程序崩溃并显示:线程1:EXC_断点(code=EXC_I386_BPT,subcode=0x0)崩溃的确切位置?当我点击按钮时,应用程序崩溃移动三行txtCompName.resignFirstResponder()txtJob.resignFirstResponder()txtDesc.resignFirstResponder()并放置断点,检查其崩溃的确切位置,然后通知我。应用程序崩溃的确切时间:cell.splabbel.text=data.CompanyName
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath:indexPath) as! jobTableViewCell
let data = datas[indexPath.row]
if let companyName = data.CompanyName {
cell.compLabel.text = companyName
}
if let job = data.job {
cell.jobLabel.text = job
}
if let descr = data.desc {
cell.descLabel.text = descr
}
return cell
}