initSithCoder中的dataSource为nil

时间:2014-04-14 12:40:17

标签: ios objective-c initwithcoder

我有以下initWithCoder实现,它依赖于数据源方法的回调。但不知何故,数据源是nil,并且不调用数据源方法。我正在使用故事板,因此覆盖了initWithCoder-Method。

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        NSUInteger rows = 0;
        NSUInteger columns = 0;

        if (self.dataSource && [self.dataSource respondsToSelector:@selector(numberOfHeaderRowsInSpreadSheetView:)]) {
            rows = [self.dataSource numberOfHeaderRowsInSpreadSheetView:self];
        }
        if (self.dataSource && [self.dataSource respondsToSelector:@selector(numberOfHeaderColumnsInSpreadSheetView:)]) {
            columns = [self.dataSource numberOfHeaderColumnsInSpreadSheetView:self];
        }
        [self setupWithNumberOfHeaderRows:rows numberOfHeaderColumns:columns];
    }
    return self;
}

有人有线索吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果在-initWithCoder:中尚未制作故事板连接,我不会感到惊讶(尽管我还没有测试过)。稍后尝试进行检查,例如viewWillAppear: