我正在从nib文件读取自定义表格单元格,在 tableView:cellForRowAtIndexPath:
中。除了它有些慢之外,这对我的目的非常有效。
现在,我知道从长远来看,正确的做法是完全使用代码创建单个视图等。但这只是一个原型,我不想花太多精力在上面。
现在,如果我在UIViewController
子类中只读取nib一次,然后tableView:cellForRowAtIndexPath:
创建副本,我会很高兴。我这里的假设是复制比读取nib要快。
这是我用来加载nib的方法,在viewDidLoad:
中调用(并在之后retain
)。
-(id)loadFromNamed:(NSString*)name {
NSArray *objectsInNib = [[NSBundle mainBundle] loadNibNamed:name
owner:self
options:nil];
assert( objectsInNib.count == 1 );
return [objectsInNib objectAtIndex:0];
}
到目前为止一切都很好。但问题是:我如何复制这个来回复?这是否可能?
我尝试过使用 [_cachedObject copy]
和 [_cachedObject mutableCopy]
,但 UITableViewCell
不支持任何复制协议。
如果必要的话,我可以告诉他们在我准备完全拿掉笔尖之前忽略速度,但如果有简单的方法可以让它快一点的话,我宁愿去尝试。
有什么想法吗?