EDIT: Aha, now I understand your issue.
Maybe this will work:
- (void)friendPickerViewControllerSelectionDidChange:(FBFriendPickerViewController *)friendPicker {
UITableView *friendPickerTable = friendPicker.tableView;
NSArray *indexPathsForSelectedRows = friendPickerTable.indexPathsForSelectedRows;
NSIndexPath *indexPathForSelectedRow = friendPickerTable.indexPathForSelectedRow;
if([indexPathsForSelectedRows containsObject:indexPathForSelectedRow]) {
// Checked friend has previously been checked
friendPickerTable.userInteractionEnabled = YES;
} else {
// New checkmark
NSUInteger checkCount = indexPathsForSelectedRows.count;
if (checkCount > 3) {
// Alert the user
UIAlertView *alert = ...
friendPickerTable.userInteractionEnabled = NO;
} else {
friendPickerTable.userInteractionEnabled = YES;
}
}
}