In my viewWillAppear method I am trying to remove the cell accesory, in debug I hit this line, but still its not removed from screen, Any ideas where should I be doing this wrong? Cell is custom cell and I set this accesory first time in the cellForRowAtIndexPath method and later try to change in viewWillAppear when its navigating back from another page.
CustomCell *cell =(CustomCell*)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
cell.accessoryType = UITableViewCellAccessoryNone;
You should refrain from directly manipulating the display of UITableView elements outside of the UITableViewDelegate and UITableViewDatasource methods. Doing so undoes the encapsulation provided by those methods. Instead, I would recommend creating an instance variable in your ViewController that you can poll from within your delegate and datasource methods. For example, using a BOOL called showCellAccessory:
You can use delegation to send a message to this ViewController from the ViewController you are navigating back from: