0

我是这个网站的新手,因为我到了无法找到问题的任何答案并想咨询专家的地步。

作为大学项目的一部分,我正在为 iPhone 开发一个应用程序。我想为我的应用程序包含一个日历,以便用户可以检查当天的事件和类似的东西。

我能够在项目中插入 Kal 库;但我不能让它工作。当它到达初始化时它崩溃了;我已经尝试过 initwitcoder,修改了 initwithselected,如本网站其他条目中所述;但它仍然崩溃并出现同样的错误:

2014-02-07 20:18:29.129 iProject[1078:13d03] * 断言失败 -[KalMonthView tileForDate:], /Users/User/iProject/Kal/src/KalMonthView.m:86 2014-02-07 20: 18:29.131 iProject[1078:13d03] *由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“未能找到日期 2/7/2014 的相应图块”

从我在寻找解决方案时阅读的所有内容中;此错误表明日历没有很好地初始化;这些是我的 init* 函数:

-(void) _configureWithDate:(NSDate *)date

{ 

        logic = [[KalLogic alloc] initForDate:date];

        self.initialDate = date;

        self.selectedDate = date;



    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(significantTimeChangeOccurred) name:UIApplicationSignificantTimeChangeNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadData) name:KalDataSourceChangedNotification object:nil];

}
- (id)initWithSelectedDate:(NSDate *)date
{
     if ((self = [super init])) {

        [self _configureWithDate:date];
        }
    return self;
}

-(id)initWithCoder:(NSCoder *)aDecoder
{
    if ((self = [super initWithCoder:aDecoder])) {
        [self _configureWithDate:[NSDate date]];
    }
    return self;
}

-(id)init
{
    return [self initWithSelectedDate:[NSDate date]];
}

这就是我从视图控制器创建它的方式:

UINavigationController *controller = (UINavigationController *) [segue destinationViewController];
        KalViewController *kal=[[KalViewController alloc]init];

        kal.title = @"Calendar";

        [controller setViewControllers:[[NSArray alloc] initWithObjects:kal, nil]];

请任何帮助将不胜感激,我已经坚持了一个多星期了,截止日期快到了:(

4

0 回答 0