将对象的多个属性映射到swift

时间:2016-04-05 23:31:12

标签: arrays swift

我在tableViews之间传递一个User对象(比如Contacts应用程序),如果有办法将User对象的每个属性(电子邮件,电话号码等)映射到一个键值数组,我真的很喜欢它对。我想取密钥并将其作为单元格的标签,值将是实际信息。我已将用户对象提供给联系人视图,但我不知道从哪里开始将属性映射到数组。

更新1:

我真的没有任何代码,因为我不确定从哪里开始,或者它是否可能。目前我正在将用户(类型为User)对象从AdminTVC传递到ContactCardTVC,我创建了一堆静态tableview单元格,并使用ContactCardTVC中的代码手动填充它们。

来自ContactCardTVC:

override func viewDidLoad() {
        super.viewDidLoad()
        fullNameTextField.text = user.firstName+" "+user.lastName
        positionTextField.text = user.position
        emailTextField.text = user.email
        phoneNumberTextField.text = user.phoneNumber
        birthdayTextField.text = user.birthday
        dateStartedTextField.text = user.dateStarted
        teamTextField.text = user.team
        serviceTextField.text = user.service
        scheduleTextField.text = user.schedule
        editButtonItem()
        TitleNavigatonItem.title = user.firstName+" "+user.lastName
        self.navigationItem.rightBarButtonItem = editButtonItem()

来自AdminTVC:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "SeeContactCardSegue" {
            if let destVC = segue.destinationViewController as? ContactCardTVC {
                if let indexPath = tableView.indexPathForSelectedRow {
                    let user = users[indexPath.row]
                    destVC.user = user
                }
            }
        }
    }

来自用户:

class User {
    var firstName = ""
    var lastName = ""
    var email = ""
    var birthday = ""
    var team = ""
    var schedule = ""
    var service = ""
    var position = ""
    var phoneNumber = ""
    var dateStarted = ""
    var profileImgURL = ""
    var notes = ""

这就是我现在在故事板中的内容:

我希望能够使用可重复使用的单元格而不是手动创建的单元格填充此表格,因为此模型可能会随着时间的推移而增长,我知道我需要一个数组来创建可重用的单元格。

将用户传递给ContactCardTVC之后,如何将User的属性映射到数组,以便我可以使用它来填充可重用的单元格?

1 个答案:

答案 0 :(得分:0)

选中tutorial

它提供了有关如何处理联系信息的良好介绍。