我正在编写一个有很多视图的应用程序,我使用了滑动视图库(ECSlidingViews
)。问题是当我用对象填充数组并用tableView:cellForRowIndexPath:
方法中的对象填充表时,它确实会在表中显示数据,但是当我转到其他视图并返回时,数据会因为tableView:cellForRowIndexPath:
没有被调用而消失。这是代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"begin of cellForRowAtIndexPath");
SchedualeCell *cell = (SchedualeCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"];
Course *temp = [array objectAtIndex:indexPath.row];
cell.nameLb.text = temp.name;
cell.hourLb.text = [NSString stringWithFormat:@"%d",temp.hour];
cell.startTimeLb.text = temp.startTime;
cell.endTimeLb.text = temp.endTime;
NSLog(@"End of cellForRowAtIndexPath");
return cell;
}
tableView:numberOfRowsInSection:
并numberOfSectionsInTableView:
在我回到具有表视图的视图时被调用。
PS:UIViewController
视图里面有表格视图,我在发布我的问题之前搜索了所有 StackOverflow。
编辑:这是我设置委托和数据源的地方
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Did Appear");
// Do any additional setup after loading the view.
self.view.layer.shadowOpacity = 0.75f;
self.view.layer.shadowRadius = 10.0f;
self.view.layer.shadowColor= [UIColor blackColor].CGColor;
if (![self.slidingViewController.underLeftViewController isKindOfClass:[MenuViewController class]])
{
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}
[self.view addGestureRecognizer:self.slidingViewController.panGesture];
if (array == nil)
{
array = [[NSMutableArray alloc]init];
}
table.delegate = self;
table.dataSource = self;
[table reloadData];
}
我确实在标题中包含了委托和数据源
@interface MainViewController : UIViewController<UITableViewDataSource , UITableViewDelegate,addDelegate>