Vue de table rapide embeddede dans le conteneur

J'ai un NSManagedObject qui est utilisé dans ma vue principale.

Dans cette vue, j'ai deux conteneurs, chacun avec leurs propres TableViews statique en cours.

Dans mon NSManagedObject, j'ai un tableau que je voudrais faire défiler et afficher des informations sur l'écran comme ceci:

Customer1 Name Customer1 Type Customer1 Address Customer2 Name Customer2 Type Customer2 Address 

J'ai essayé d'utiliser la méthode TableView, j'ai ajouté un conteneur, j'ai incorporé la tableview, j'ai créé une cellule personnalisée et essayé de remplir la cellule personnalisée avec quelques données de test. Quand je l'exécute bien que le TableView montre juste les quatre rangées vides. (Il me manque probablement quelque chose à faire avec la quantité de lignes, ce qui explique pourquoi mes données de test ne s'affichent pas):

 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { // #warning Incomplete method implementation. // Return the number of rows in the section. return 0 } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tblPartyDetails.dequeueReusableCellWithIdentifier( "JobViewPartyCell", forIndexPath: indexPath) as! JobViewPartyCell cell.lblPartyName.text = "test name" cell.lblPartyAddress.text = "test adddress" cell.lblPartyType.text = "test partyType" return cell } 

Je dois aussi comprendre comment passer mon NSManagedObject dans cette class TableView et il semble que beaucoup d'effort pour ce qui est juste un bloc d'informations répété … ou … est-ce la seule façon de le faire?

Alors, est-ce que j'y vais de la bonne façon? Si oui, comment puis-je le corriger et append mes détails NSManagedObjects à TableView. Si je ne le fais pas correctement, quelles sont les alternatives? J'ai jeté un oeil à d'autres trucs de type 'carte' personnalisés, comme les maps facebook et google, mais ces techniques utilisent aussi TableViewCells personnalisées.

modifier. Fonction PrepareForSegue:

  override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == jobSegueIdentifier { if let destination = segue.destinationViewController as? JobViewController { if let jobIndex = tblJobs.indexPathForSelectedRow() { let workItem:Work = fetchedResultsController.objectAtIndexPath(jobIndex) as! Work destination.workItem = workItem } } } } 

Tout d'abord, vous avez returnné 0 dans votre numberOfRowsInSection et ce que vous devez faire est de mettre le nombre de lignes que vous voulez afficher, si vous testez votre tableView, mettez n'importe quel nombre.

Et si vos données sont dans votre mainView, vous devez transmettre vos données à la table contenue afin que vous puissiez les afficher et dans votre nombre de lignes, vous devriez returnner le nombre d'éléments dans votre tableau de données.

Donnez d'abord un identifiant à votre segment d'intégration dans le storyboard et, dans votre vue principale, implémentez la fonction prepareForSegue comme suit:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "embedSegueIdentifier" { let distinationVC = segue.destinationViewController as? EmbeddedTableViewController //replace EmbeddedTableViewController with your tableViewControllerClass distinationVC?.dataArray = yourDataArray //yourDataArray is in your main view and you should define data array in your embedded table view controller } } 

et dans votre tableViewController append ce qui suit:

 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return dataArray.count } 

J'espère que cela a aidé.