2016-07-07 13 views
0

Ich habe meine Tabellenansicht so eingerichtet, dass sie aus zwei Arrays gefüllt wird. Ich tat dies erfolgreich, als es nur in einer Tabellenansicht war, aber nicht, dass ich es in einen Ansichts-Controller legte, keine der Informationen wird angezeigt. Ich weiß nicht, was ich falsch gemacht habe. Ich habe den viewController genau so eingerichtet, wie ich es mit dem tableviewcontroller getan habe. Was passieren soll, ist, dass eine Zeile erstellt und mit den Informationen ausgefüllt wird und fortfahren, bis alle Daten ausgefüllt sind. Das Problem ist, dass keine der Daten angezeigt wird. Ich weiß nicht, was mir hier fehlt. Jede Hilfe wäre willkommen.In meiner Tabellenansicht innerhalb eines ViewControllers werden keine Informationen angezeigt.

Hier ist was ich habe;

class MyViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 


var titleDate = ["Apple", "Apricot", "Banana", "Kiwi" , "Juniperberry" , "GhostBusteres"] 
var descriptionDate = ["One", "Two", "Three", "4", "5", "6"] 

@IBOutlet weak var myTableView: UITableView! 
// MARK: - UIViewController lifecycle 

override func viewDidLoad() { 
    super.viewDidLoad() 
    myTableView.editing = true 
} 

// MARK: - UITableViewDataSource 

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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Coupon", forIndexPath: indexPath) as! CouponTableViewCell 


    cell.couponTitle.text = titleDate[indexPath.row] 
    cell.couponDescription.text = descriptionDate[indexPath.row] 
    cell.couponAnother.text = "Like a bloody storm" 

    return cell 
} 

func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle { 
    return .None 
} 

func tableView(tableView: UITableView, shouldIndentWhileEditingRowAtIndexPath indexPath: NSIndexPath) -> Bool { 
    return false 
} 

func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) { 
    let movedObject = self.titleDate[sourceIndexPath.row] 
    titleDate.removeAtIndex(sourceIndexPath.row) 
    titleDate.insert(movedObject, atIndex: destinationIndexPath.row) 
    descriptionDate.removeAtIndex(sourceIndexPath.row) 
    descriptionDate.insert(movedObject, atIndex: destinationIndexPath.row) 
    NSLog("%@", "\(sourceIndexPath.row) => \(destinationIndexPath.row) \(titleDate)") 
    // To check for correctness enable: self.tableView.reloadData() 

} 

}

Und ich habe auch die Zellklasse, die die Beschriftungen auf die Variablen verknüpft und das funktioniert auch.

Vielen Dank für jede Hilfe mit diesem.

+0

Sie müssen Delegat und Datenquelle aus Storyboard setzen –

Antwort

1

Sie müssen die UITableViewdataSource und delegate einstellen.
Wenn Sie die UITableViewController verwendet haben, wurden die dataSource und delegate bereits festgelegt.
Siehe UITableView - Managing the Delegate and the Data Source Dokumentation.

+0

Das war es vielen Dank. Ich lerne immer noch schnell. – MNM