Thibaut LE LEVIER
Thibaut LE LEVIER

Reputation: 245

tableview doesn't want to reload in swift

I'm trying to setup a simple tableview with data from a webservice call but I have few issues when I want to reload my tableview

@IBOutlet var tableView: UITableView!
var homeItems: NSArray! = NSArray()

override func viewDidLoad() {
    super.viewDidLoad()

    APIClient.getHomeItemWithCallback { (homeItems, error) -> Void in
        NSLog("HERE")
        self.homeItems = homeItems
        dispatch_async(dispatch_get_main_queue(), {
            self.tableView.reloadData()
        })

        NSLog("items here %@", self.homeItems)

        NSLog("tableview %@", self.tableView)
    }
}

// MARK: UITableViewDataSource
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {

    NSLog("home items %@", self.homeItems)
    return self.homeItems.count
}
[...]

and so the few debug NSLog gave me:

at the tableview initialisation (and the second time? maybe tableview delegate?)

2014-08-15 02:11:40.772 APP[77459:10573070] home items (
)
2014-08-15 02:11:40.774 Medley[77459:10573070] home items (
)

in the callback of my block

2014-08-15 02:11:41.473 Medley[77459:10573070] HERE

items after they are being set

2014-08-15 02:11:41.473 Medley[77459:10573070] items here (
    "<Medley.MDHomeItem: 0x7af95080>",
    "<Medley.MDHomeItem: 0x7af957c0>",
    "<Medley.MDHomeItem: 0x7afa00a0>",
    "<Medley.MDHomeItem: 0x7afa00f0>"
)

the tableview is not nil, the Outlet is ok... etc...

2014-08-15 02:11:41.474 Medley[77459:10573070] tableview <UITableView: 0x7c167200; frame = (0 0; 320 568); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x7b06b9e0>; layer = <CALayer: 0x7b06a230>; contentOffset: {0, 0}; contentSize: {320, 0}>

So there is no reload of the tableview after my webservice callback. Does anyone have any idea? What am I missing something?

Thanks!

Upvotes: 1

Views: 219

Answers (2)

Thibaut LE LEVIER
Thibaut LE LEVIER

Reputation: 245

Sorry for the noise, I've manage make it work by deleting the scene in the storyboard and recreate everything... probably a bad reference or something... maybe with the prototyped cells

Upvotes: 1

mark.siedle
mark.siedle

Reputation: 78

Just checking, are your tableview's datasource and delegates hooked up correctly? If you put a breakpoint in numberOfRowsInSection, does it fire?

PS. I don't have rep to just comment, so not sure where else to post this.

Upvotes: 0

Related Questions