Owen Bridges
Owen Bridges

Reputation: 81

UITableView not displaying cells

I am using Xcode 6 Swift and storyboards to build an IOS app. Bellow is what I have in my File.swift:

import Foundation

struct December {
    let name : String
}

Then, in my view controller, I have:

import UIKit

class ViewControllerDecember: UITableViewController {

    var december = [December] ()


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.december = [December(name: "1"), December(name: "2"), December(name: "3"), December(name: "4"), December(name: "5"), December(name: "6"), December(name: "7"), December(name: "8"), December(name: "9"), December(name: "10"), December(name: "11"), December(name: "12"), December(name: "13"), December(name: "14"), December(name: "15"), December(name: "16"), December(name: "17"), December(name: "18"), December(name: "19"), December(name: "20"), December(name: "21"), December(name: "22"), December(name: "23"), December(name: "24"), December(name: "25"), December(name: "26"), December(name: "27"), December(name: "28"), December(name: "29"), December(name: "30"), December(name: "31")]

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

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

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

        var de1 : December

        de1 = december[indexPath.row]

        cell.textLabel?.text = de1.name

        return cell


    }
}

When I run the app, it displays the table view but none of the cell data. What am I missing?

Upvotes: 2

Views: 10126

Answers (2)

kingofswing
kingofswing

Reputation: 1

For me, I was confused by not displaying of tableview unless you swipe the screen. and finally I found lack of statement: reloadDate()

Query.FindinBackGround(...)
self.mytableview.reloadDate()

Upvotes: 0

Dan Oswalt
Dan Oswalt

Reputation: 2189

You may simply need to set the prototype cell identifier to "cell".

Go to the storyboard, click on your tableview, click on the attributes.

Give yourself a prototype cell by changing it from 0 to 1.

Click on the prototype cell. Set the 'identifier' attribute to "cell".

Upvotes: 7

Related Questions