如何使用目标C访问自定义类到主类?

时间:2015-12-16 04:26:27

标签: ios objective-c iphone uitableview

我正在尝试使用tableviewparent child创建单个accordion cells。对于这个手风琴细胞,我已经将两个单元格创建为单个tableview storyboard,并为两个单元格提供了单独的Identifier和类,并对下面的方法进行了一些逻辑处理。现在的问题是我需要访问自定义单元格类,我已将outlets单元格storyboard UI连接到自定义类,但我无法将该UI访问到下面的方法中。

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {

        //cell = [[[NSBundle mainBundle] loadNibNamed:@"CCell" owner:self options:nil] objectAtIndex:1];
        cell = [tableView dequeueReusableCellWithIdentifier:@"parentCell"];

    }
    NSDictionary *dicForIndex = [self.arForTable objectAtIndex:indexPath.row];


    if ([[dicForIndex valueForKey:@"isChild"] boolValue] == YES) {

        //cell = [[[NSBundle mainBundle] loadNibNamed:@"CCell" owner:self options:nil] objectAtIndex:0];
        cell = [tableView dequeueReusableCellWithIdentifier:@"childCell"];

        UILabel *labelName = (UILabel*)[cell viewWithTag:1001];
        labelName.text = [dicForIndex valueForKey:@"name"];

    }else{

        UILabel *labelName = (UILabel*)[cell viewWithTag:1001];
        labelName.text = [dicForIndex valueForKey:@"name"];

    }
    [cell setIndentationLevel:[[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"level"] intValue]];
    return cell;
}

1 个答案:

答案 0 :(得分:1)

你可以这样做:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [tableView dequeueReusableCellWithIdentifier:@"parentCell"];
        parenttableviewCell *cellParent = (parenttableviewCell *)cell;
        // custom  something ...
        cellParent.labelA.text = @"A"; 
    }
    ... 
    if ...
    {
        cell = [tableView dequeueReusableCellWithIdentifier:@"childCell"];
        childtableviewCell *cellchild = (childtableviewCell *)cell;
        // custom  something ...
    }

return cell;