Chỗ này cần có phần check nil xem Table Cell đã được khởi tạo hay chưa để cấp phát, vì nếu không được init lần nào thì làm sao mà có Table Cell trong queue để mà dequeue :).
if (cell == nil) {
   cell = [[UITableViewCell alloc] init];
}