tableView:objectValueForTableColumn:row:


#1

In the tableView:objectValueForTableColumn:row: method, I have a call to NSLog to see the rows that get loaded into my table view (with the names of the voices). I have noticed that when the app starts, and before I do anything (touch any buttons, scroll the table, etc.), tableView:objectValueForTableColumn:row: gets invoked to fill the rows that are viewable in my table, and this happens four times over, not just once.

Specifically, my app, that table has 8 rows that can be viewed. Upon app start, tableView:objectValueForTableColumn:row: gets called 8 times, once for each viewable row, and this process is repeated four times over (and before I touch anything).

Here is the log output:
[size=85]
2013-02-18 12:20:30.090 SpeakLine[8277:303] init
2013-02-18 12:20:30.460 SpeakLine[8277:303] Number of voices: 24
2013-02-18 12:20:30.462 SpeakLine[8277:303] New voice: com.apple.speech.synthesis.voice.Alex
2013-02-18 12:20:30.495 SpeakLine[8277:303] Row: 0, Voice: Agnes
2013-02-18 12:20:30.497 SpeakLine[8277:303] Row: 1, Voice: Albert
2013-02-18 12:20:30.498 SpeakLine[8277:303] Row: 2, Voice: Alex
2013-02-18 12:20:30.500 SpeakLine[8277:303] Row: 3, Voice: Bad News
2013-02-18 12:20:30.501 SpeakLine[8277:303] Row: 4, Voice: Bahh
2013-02-18 12:20:30.502 SpeakLine[8277:303] Row: 5, Voice: Bells
2013-02-18 12:20:30.502 SpeakLine[8277:303] Row: 6, Voice: Boing
2013-02-18 12:20:30.503 SpeakLine[8277:303] Row: 7, Voice: Bruce
2013-02-18 12:20:30.806 SpeakLine[8277:303] Row: 0, Voice: Agnes
2013-02-18 12:20:30.808 SpeakLine[8277:303] Row: 1, Voice: Albert
2013-02-18 12:20:30.809 SpeakLine[8277:303] Row: 2, Voice: Alex
2013-02-18 12:20:30.809 SpeakLine[8277:303] Row: 3, Voice: Bad News
2013-02-18 12:20:30.810 SpeakLine[8277:303] Row: 4, Voice: Bahh
2013-02-18 12:20:30.810 SpeakLine[8277:303] Row: 5, Voice: Bells
2013-02-18 12:20:30.813 SpeakLine[8277:303] Row: 6, Voice: Boing
2013-02-18 12:20:30.815 SpeakLine[8277:303] Row: 7, Voice: Bruce
2013-02-18 12:20:30.816 SpeakLine[8277:303] Row: 0, Voice: Agnes
2013-02-18 12:20:30.817 SpeakLine[8277:303] Row: 1, Voice: Albert
2013-02-18 12:20:30.817 SpeakLine[8277:303] Row: 2, Voice: Alex
2013-02-18 12:20:30.817 SpeakLine[8277:303] Row: 3, Voice: Bad News
2013-02-18 12:20:30.818 SpeakLine[8277:303] Row: 4, Voice: Bahh
2013-02-18 12:20:30.818 SpeakLine[8277:303] Row: 5, Voice: Bells
2013-02-18 12:20:30.819 SpeakLine[8277:303] Row: 6, Voice: Boing
2013-02-18 12:20:30.819 SpeakLine[8277:303] Row: 7, Voice: Bruce
2013-02-18 12:20:30.820 SpeakLine[8277:303] Row: 0, Voice: Agnes
2013-02-18 12:20:30.866 SpeakLine[8277:303] Row: 1, Voice: Albert
2013-02-18 12:20:30.867 SpeakLine[8277:303] Row: 2, Voice: Alex
2013-02-18 12:20:30.867 SpeakLine[8277:303] Row: 3, Voice: Bad News
2013-02-18 12:20:30.868 SpeakLine[8277:303] Row: 4, Voice: Bahh
2013-02-18 12:20:30.868 SpeakLine[8277:303] Row: 5, Voice: Bells
2013-02-18 12:20:30.868 SpeakLine[8277:303] Row: 6, Voice: Boing
2013-02-18 12:20:30.869 SpeakLine[8277:303] Row: 7, Voice: Bruce
[/size]
Why is this happening? Is this normal? Shouldn’t tableView:objectValueForTableColumn:row: be called only 8 times to fill the viewable part of the table?

Thanks for your help.