I am trying to figure out the best way to implement the blue dot like the Mail app for unread cells. I have the blue dot but I am just trying to figure out the logic behind it. The table is populated by an xml file. Right now I have it set as so, when the parsing method is called, it sets a boolean to NO within the data object. Then when the tableview populates itself, if the boolean is NO, the image is displayed, and then during didSelectRowAtIndex, I then set the boolean to YES and the image disappears. The problem lies here, every time I refresh the table, the xml is re-parsed and the instance variable is reset to NO and the user is informed that the cell hasn't been clicked. How do I fix that? What's the best logic around it?
Asked
Active
Viewed 212 times
2 Answers
0
Instead of re-parsing the XML each time you refresh the table, parse it once and then save the data (or an array of dictionaries, or whatever) it parsed out into as a variable within the object.
That way, the state of the "read" blue dot or "unread" will persist between table reloads.

Michael Dautermann
- 88,797
- 17
- 166
- 215
-
The problem is, the XML is changing every minute and constantly refreshing so it's probably not worth it. – Jon Erickson Dec 22 '12 at 02:52
0
Michael Dautermann is making a good point in his answer. For your situation, where the feed is often refreshed, you can keep a set where you keep track of the read elements by storing their ID's there (whatever they are). Then, in your tableView:cellForRowAtIndexPath:
method, you just check if the current element's id exists in the set, and don't show the "new" image if it does.

TotoroTotoro
- 17,524
- 4
- 45
- 76