I am using a custom UITableViewCell in my UITableView but the problem is that the cell is never nil when calling the dequeueReusableCellWithIdentifier. Why is this ?
I don't believe it is supposed to return nil. Why do you want it to?
The method dequeueReusableCellWithIdentifier returns a Cell that is about to be displayed, so it's actually good that it is not null - that way you can modify it as needed.