我想和不同的人一起制作一张桌面视图。您可以通过单击“添加”按钮来添加人员。点击添加按钮后,您需要填写信息'名字','姓氏'和'日期'。单击完成按钮后,它将返回到tableview,单元格将显示人员名字。
我创建了一个新的swift文件,它有一个struct:
struct person {
var firstName : String
var lastName : String
var date : String
}
在tabledetailviewcontroller.swift(你添加一个人的控制器)中,我为每个字段声明了IBOutlets并设置了每个值:
@IBOutlet weak var firstName: UITextField!
@IBOutlet weak var lastName: UITextField!
@IBOutlet weak var dateText: UITextField!
let first:String = ""
let last:String = ""
let date = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .ShortStyle)
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "doneSegue" {
first = firstName.text
last = lastName.text
date = dateText.text
}
}
在tableviewcontroller.swift中,我已经声明了一个类型为' person'的人数组:
var people = [person]()
和一个返回数组中人数的函数。
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return people.count
}
然后我有一个设置单元格文本值的函数 override func tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) - >
UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("issueCell", forIndexPath: indexPath) as UITableViewCell
//cell.textLabel.text = issues.dateTime[indexPath.row] //Fixed this to this =>
cell.textLabel.text = (issues[indexPath.row]).dateTime
return cell
}
最后我有一个完成按钮,将新人追加到数组中(这部分一直给我错误......)
@IBAction func done(segue:UIStoryboardSegue){
var addPersonVC = segue.sourceViewController as AddPersonViewController
let newPerson = person(date: (addPersonVC.date)) //Breaks here for no reason!
people.append(newPerson)
}
我的问题是,如何让每个单元格存储多个字段(第一个,最后一个,日期),将其保存在每个人的下方,并在桌面视图的单元格中显示该人的姓名?我希望能够编辑单元格并更改有关该人的信息。
我对swift很新:/ 我非常感谢!
编辑:我已经解决了一些问题,现在它已经完成了功能!答案 0 :(得分:1)
如果我没有错或缺少某些代码,则会出现两个错误: