0

我正在测试一个自定义表格视图样式类:

水平表

它产生一个水平表视图。

等效于的委托方法之一tableView:numberOfRowsInSection:是:

- (NSInteger)numberOfColumnsForTableView:(HorizontalTableView *)tableView. 

如果我给它一个数字(例如:)return 10;,它会很高兴,它会给我我想要的数字“单元格”。但是如果我给它一个值someArray.count或一个intNSInteger变量,表格视图就会出现空白,不提供任何单元格。

我认为自定义表格视图类中接收NSInteger值的方法是这样的:

- (NSUInteger)numberOfPages {
    NSInteger numPages = 0;
    if (_delegate)
        numPages = [_delegate numberOfColumnsForTableView:self];
    return numPages;
}

我需要将结果someArray.count转换为NSInteger吗?

4

4 回答 4

1

在这里,您从数组中获取值意味着您的数组不是 nil,因此只需调试并检查是否符合该条件的 if 条件以及您从中获得什么NSLog

- (NSUInteger)numberOfPages {
    NSInteger numPages = 0;
    if (_delegate){
        numPages = [_delegate numberOfColumnsForTableView:self];
        NSLog(@"Total record %d",numPages);//what you get here?
    }
    return numPages;
}
于 2012-12-26T13:14:01.450 回答
1
numPages = [_delegate numberOfColumnsForTableView:self];
//self requires an object of type  HorizontalTableView
于 2012-12-26T13:34:44.953 回答
1

NSMutableArray是可编辑的,而NSArray是只读的。

NSMutableArray是一个子类,并NSArray响应诸如 等消息;即它是可变的,就像名字所说的那样。相反,它是不可变的,即您不能添加/删除对象。addObjectremoveObjectNSArray

于 2012-12-26T14:18:55.357 回答
0

实际上,将要返回的值转换为 NSArray 的计数,而不是 NSMutableArray 的计数解决了这个问题。为什么?我不确定为什么 NSArray 的计数值是有效的,但不是 NSMutableArray 的。任何人?

于 2012-12-26T14:04:21.470 回答