如何从Xib文件加载自定义UITableViewCells?
问题很简单:如何UITableViewCell从Xib文件加载自定义?这样可以使您使用Interface Builder设计单元。由于内存管理问题,答案显然并不简单。该线程提到了该问题并提出了解决方案,但已在NDA之前发布,并且缺少代码。这是讨论问题的长篇文章,但没有提供明确的答案。 这是我使用的一些代码: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } 要使用此代码,请创建MyCell.m / .h,这是MyCell的新子类,UITableViewCell并IBOutlets为所需的组件添加。然后创建一个新的“ Empty XIB”文件。在IB中打开Xib文件,添加一个UITableViewCell对象,将其标识符设置为“ MyCellIdentifier”,并将其类设置为MyCell并添加您的组件。最后,将连接IBOutlets到组件。请注意,我们没有在IB中设置文件的所有者。 其他方法提倡设置文件的所有者,如果没有通过其他工厂类加载Xib,则警告内存泄漏。我在“仪器/泄漏”下测试了以上内容,但没有发现内存泄漏。 那么从Xibs加载单元的规范方法是什么?我们是否设置文件的所有者?我们需要工厂吗?如果是这样,工厂的代码是什么样的?如果有多种解决方案,让我们阐明它们各自的优缺点...