在tableView
我有几个对象显示得很好。但是,当我与列表交互并向下滚动(向前)时,应用程序将崩溃。我以前从未见过这个,也不知道为什么会这样。我正在使用第三方日历和我的代码,我想我应该提一下,但我不认为这是主要问题。
#import "VRGViewController.h"
@interface VRGViewController ()
@end
@implementation VRGViewController{
NSArray *calendarTableData;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
VRGCalendarView *calendar = [[VRGCalendarView alloc] init];
calendar.delegate=self;
calendar.center = self.view.center;
[self.view addSubview:calendar];
calendarTableData = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto",nil];
}
-(void)calendarView:(VRGCalendarView *)calendarView switchedToMonth:(int)month targetHeight:(float)targetHeight animated:(BOOL)animated {
if (month==[[NSDate date] month]) {
NSArray *dates = [NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:5], nil];
[calendarView markDates:dates];
}
}
-(void)calendarView:(VRGCalendarView *)calendarView dateSelected:(NSDate *)date {
NSLog(@"Selected date = %@",date);
}
#pragma mark - User Defined Methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [calendarTableData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *simpleTableIdentifier = @"Services";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [calendarTableData objectAtIndex:indexPath.row];
return cell;
}
@end
答案 0 :(得分:1)
您必须按以下方式声明数据源:
calendarTableData = [[NSArray alloc]initWithObjects:@"Egg Benedict",
@"Mushroom Risotto",nil];
答案 1 :(得分:1)
问题来自我如何调用我的数组。
由于我使用的是第三方代码,因此我禁用了ARC。这导致了我如何调用我的对象数组的问题。感谢@meda帮助我提供答案 - 在我实施之后,我意识到我错了