- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
PlanetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PlanetCell_ID"];
return cell;
}
如果您创建自定义UITableViewCell(在本例中为PlanetTableViewCell),可以通过返回的方法返回该对象(UITableViewCell *),还是我应该做的其他事情?
答案 0 :(得分:1)
如果你创建一个自定义的UITableViewCell(在这种情况下是PlanetTableViewCell),通过返回的方法(UITableView *)返回该对象是可以接受的,还是我应该做的其他事情呢?
你可能意味着:
通过返回的方法返回该对象(UITableViewCell *),
如果是这样,那么这是完全合法和合理的。
事实上,PlanetTableViewCell
来自UITableViewCell
,PlanetTableViewCell
的所有实例也属于UITableViewCell
类型(is-a relationship)在OOP)。
答案 1 :(得分:0)
是的,这是返回单元格的正确方法。
但是你也应该检查你的“dequeue”是否返回了一个有效的单元格对象。如果没有,你需要创建一个。
此方法也是您应该使用标题,附件等配置单元格的地方。
示例代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
PlanetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PlanetCell_ID"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.titleLabel.text = @"Cell Title";
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
答案 2 :(得分:0)
使用自定义单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
simpleTableIdentifier = @"dashboard_logintimeCell_ipad";
}
else
{
simpleTableIdentifier = @"dashboard_logintimeCell";
}
dashboard_logintimeCell *cell = (dashboard_logintimeCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib =[[NSBundle mainBundle]loadNibNamed:simpleTableIdentifier owner:self options:nil];
cell = [nib objectAtIndex:0];
}
/*here you cell object get
like
cell.lable.text=@"yourlabeltext";
*/
cell.backgroundColor=[UIColor clearColor];
return cell;
}