Your code should go this way:
for (NSInteger tcIndex = self.tableView.tableColumns.count-1; tcIndex >= 2; tcIndex--){
[self.tableView removeTableColumn:[self.tableView tableColumns][tcIndex]];
}
You need to count total columns in the tableview and then remove them.
What you are doing is that iterating through number of rows, which is incorrect.