2016-04-05 27 views
-1

我在tableViews(如通讯录应用程序)之间传递一个User对象,我真的很喜欢它,如果有方法映射每个属性的用户对象(电子邮件,电话号码等)到一组键值对。我想把钥匙作为单元格的标签,价值将成为实际的信息。我有用户对象的联系人视图,但我不知道从哪里开始将属性映射到数组。在SWIFT中将对象的多个属性映射到一个键/值对的数组

更新1:

我真的没有任何代码,因为我不知道从哪里开始,或者如果它甚至有可能。目前,我将AdminTVC中的一个用户(类型为User)对象传递给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的属性映射到数组,以便我可以使用它来填充可重用的单元格?

+0

如果你需要帮助,你真的必须发布一些代码和你已经尝试过。 – Eendje

+0

我更新了我的帖子。希望能给出更多的清晰度。 –

回答

0

选中此tutorial

它提供了一个很好的介绍如何处理联系人信息。

+0

是的,但我实际上并不想从他们手机(或我的)联系人列表中获取信息。这些信息完全包含在应用程序中。该教程是否仍然适用? –

+0

我不这么认为 –

相关问题