Roland, Luke and David, I think you're right and I misunderstood the dequeue…
I looked at the AdvancedTableViewCells sample. Each time the dequeue… doesn't return a cell, it loads a new cell from a xib file, so, I guess, in effect creating a new cell. I'll have to bundle my cell that is currently in the same bundle than my tableview controller and then load it to see if it works but I'm guessing it will. Thanks! -Laurent. -- Laurent Daudelin AIM/iChat/Skype:LaurentDaudelin http://www.nemesys-soft.com/ Logiciels Nemesys Software [email protected] On Jul 31, 2010, at 22:34, Roland King wrote: > I think you've missed the point of what Luke's saying. If > dequeueReusableCellWithIdentifier: returns nil then you create a cell with > that identifer, correct, and that cell can be recycled later by the > tableview. That's what the [ [ [ UITableViewCell ] alloc ] initWith... ] > autorelease ] does, so your code should look something like this > > UITableViewCell *cell = [ tableView > dequeueReusableCellWithIdentifier:<yourid> ]; > > if( !cell ) > cell = <some line of code to create one> > > What's that line of code look like in your version which uses a nib? Luke is > suggesting that you're not actually creating a new cell in that instance but > are reusing the same one from one single load of a nib, that's not going to > work, you need to create a new object each time. Yes the table will hang onto > and reuse them for you as it scrolls around but you need more than just one > instance. > > > > On 01-Aug-2010, at 1:25 PM, Laurent Daudelin wrote: > >> Isn't the purpose of dequeueReusableCellWithIdentifier: of reusing >> tableview's objects? I've used this in the past and it never failed me. The >> documentation says "For performance reasons, a table view'€™s data source >> should generally reuse UITableViewCell objects when it assigns cells to rows >> in its tableView:cellForRowAtIndexPath: method". So, that's what I'm using. >> Of course, I have 2 different cells for the 2 sections and I can't >> understand why it doesn't work. Right now, I have 4 cells in section 2 but >> in the future, I might have dozens of cells representing dozens of entries. >> I cannot possibly create a different cell for each row, can I? >> >> -Laurent. >> -- >> Laurent Daudelin >> AIM/iChat/Skype:LaurentDaudelin >> http://www.nemesys-soft.com/ >> Logiciels Nemesys Software >> [email protected] >> >> On Jul 31, 2010, at 22:20, Luke Hiesterman wrote: >> >>> Are you returning the same cell 4 times? That's not right. You're going to >>> need 4 separate cell instances even if they are of the same class and >>> layout. It sounds like you might be taking 1 cell instance out of a nib and >>> returning that each time. >>> >>> Luke >>> >>> Sent from my iPhone. >>> >>> On Jul 31, 2010, at 9:17 PM, Laurent Daudelin <[email protected]> >>> wrote: >>> >>>> I've been banging my head on this for over a day now and I just can't find >>>> what's wrong with my tableview and the tableview cells. >>>> >>>> Basically, as you can see here: >>>> >>>> http://nemesys.dyndns.biz/Images/iPhoneScreenshot.png >>>> >>>> I have a table view made of 2 sections. Section 1 has only one tableview >>>> cell and, right now, it's barebone. Section 2 is supposed to have 4 cells. >>>> When I use a cell from my xib file in Interface Builder and the tableview >>>> appears, even though my method tableView:cellForRowAtIndexPath: is called >>>> 4 times, only the last cell is showing. If I however create the cells >>>> programmatically using: >>>> >>>> [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle >>>> reuseIdentifier:CellIdentifier] autorelease] >>>> >>>> then they show up properly. Of course, the cell is created only once >>>> because on subsequent calls, I'm using the tableview >>>> dequeueReusableCellWithIdentifier:. >>>> >>>> I just don't get it. I use the same methods to set the textLabel and the >>>> detailTextLabel in both cases. I just tried a few times of dragging a >>>> default UITableView cell from the IB's Data Views tab, I don't modify it >>>> in any way in IB except to give it a cell identifier and connect it to my >>>> tableview controller so it can provide it to its tableview, it just won't >>>> work and I get the tableview showing as in the picture above. I want to >>>> use a tableview cell in IB because I need to add additional labels to it >>>> and don't feel like doing it programmatically. >>>> >>>> So, anybody can see what I am missing? I've done the same thing in other >>>> iPhone projects I just can't see why I can't do it now and I'm at the end >>>> of my rope here. >>>> >>>> Thanks in advance for any comment, info or help! _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
