Search code examples
iosuitableviewcell

Legacy cell layout?


I am getting this in my console, what does it mean and how can I fix it?

2011-07-18 22:08:31.004 App[4176:707] WARNING: Using legacy cell layout due to delegate implementation of tableView:accessoryTypeForRowWithIndexPath: in <Settings: 0x250c60>. Please remove your implementation of this method and set the cell properties accessoryType and/or editingAccessoryType to move to the new cell layout behavior. This method will no longer be called in a future release.

Edit: This is iOS and here is the method:

    - (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath
{

    switch (indexPath.row) {

        case 2:
            return UITableViewCellAccessoryDisclosureIndicator;
            break;

        case 3:
            return UITableViewCellAccessoryDisclosureIndicator;
            break;

        case 4:
            return UITableViewCellAccessoryDisclosureIndicator;
            break;

    }
    return UITableViewCellAccessoryNone;
}

Solution

  • It means that you are implementing a deprecated method, and the system is using a backwards-compatibility mode because of it.

    You should do exactly what the message suggests: remove your implementation of tableView:accessoryTypeForRowWithIndexPath:, and instead assign the appropriate values to the accessoryType and/or editingAccessoryType properties instead.