我有以下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;
}
有人有线索吗?
提前致谢。
答案 0 :(得分:2)
如果在-initWithCoder:
中尚未制作故事板连接,我不会感到惊讶(尽管我还没有测试过)。稍后尝试进行检查,例如viewWillAppear:
。