我找到了自定义UITableViewCell的代码:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"MyCustomCell" owner:nil options:nil];
MyCustomCell *customCell = [[MyCustomCell alloc]init];
MyCustomCell.cellImage = [arrayImages objectAtIndex:indexPath.row];
for (UIView *view in views)
{
if([view isKindOfClass:[UITableViewCell class]])
{
cell = (MyCustomCell *)view;
}
}
}
我无法确定这个特定部分的工作原理:cell = (MyCustomCell *)view;
我想为之前创建的MyCustomCell(customCell)实例更改它...我怎么能这样做?
答案 0 :(得分:1)
有时人们会使用Interface Builder创建自定义UITableViewCell
。这个人只是加载他们的自定义UITableViewCell
子类并将其分配给单元格。行cell = (MyCustomCell *)view;
推测可行,因为MyCustomCell
是UITableViewCell
的子类。
这只是创建自定义单元格的另一种技术,有时您会看到与标记类似的事情。
答案 1 :(得分:0)
首先,它迭代UIView
个或UIView
个子类的集合。它将每个迭代的变量存储到一个名为view
的指针中。
然后只需将当前view
变量转换为MyCustomCell
类型。大概MyCustomCell
延长UIView
,所以这是合法的。
如果您想使用特定于MyCustomCell
的方法,这很有用,因为如果您没有明确Type Cast您的对象,Xcode将不知道它们是否存在。