1

我想NSTableCellView用 XIB 子类化。我是 MAC OS 编程的新手。

这就是我所做的:

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    if (tableView == self.tableVSurah) {
        CustomCell *cell;
        cell = [[CustomCell alloc] initWithFrame:CGRectMake(0, 0, 302, 52)];

        cell.txtTName.stringValue = [[arrData objectAtIndex:row] valueForKey:@"tname"];
        return cell;
    }
    return nil;
}

CustomCell在哪里NSTableCellView

虽然我在 iOS 中很擅长使用以下代码来获取.xib特定的UITableViewCell. 以下代码是用 UITableView 子类编写的。

+ (CustomCell *)cellFromNibNamed:(NSString *)nibName {

     NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:NULL];
     NSEnumerator *nibEnumerator = [nibContents objectEnumerator];
     CustomCell *xibBasedCell = nil;
     NSObject* nibItem = nil;

     while ((nibItem = [nibEnumerator nextObject]) != nil) {
           if ([nibItem isKindOfClass:[CustomCell class]]) {
                 xibBasedCell = (CustomCell *)nibItem;
                 break; 
           }
     }

     return xibBasedCell;
}

对于 Mac,我们没有[[NSBundle mainBundle] loadNibNamed:nibName owner:self options:NULL];方法。

我如何xib在我的NSTableView?

4

1 回答 1

0

在 mac 中,我们有这个 API:-

    - (BOOL)loadNibNamed:(NSString *)nibName owner:(id)owner 
topLevelObjects:(NSArray **)topLevelObjects
于 2013-10-16T11:18:05.813 回答