Это сводит меня с ума, поэтому я надеюсь, что кто-то может помочь новичку Objective-C понять это. Вот сделка:
Я занимаюсь разработкой приложения для iPhone с использованием Titanium Appcelerator и пытаюсь создать в XCode дополнительный модуль, который позволит мне отправлять событие в календарь iPhone. Что я хотел бы сделать, так это рассчитать дату и время в секундах с 1 января 2001 года (по Гринвичу) и отправить их непосредственно в календарь, не прибегая к работе со строкой до даты, которая, кажется, всегда возвращает не то время. На данный момент я не смог получить целое число в полях даты события, оба из которых являются типами NSDate.
Titanium принимает аргументы из Javascript и компилирует их в объектный код, так что я могу назвать свой объект "cal" следующим образом:
var startDate = 316367923;
var endDate = 316367923;
var results = cal.newEvent(startTime,endTime)
. , , и вот как объект "cal" получает этот вызов:
-(BOOL)newEvent:(id)args {
id startDate = [args objectAtIndex:0];
id endDate = [args objectAtIndex:1];
...
То, что я надеюсь сделать, получить эти целые числа в объект события:
EKEventStore *eventDB = [[EKEventStore alloc] init];
EKEvent *theEvent = [EKEvent eventWithEventStore:eventDB];
...
theEvent.startDate = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate: (int) startDate];
theEvent.endDate = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate: (int) endDate];
Это компилируется без ошибок, но, тем не менее, заставляет мое приложение бомбить, поэтому я полагаю, что в моем понимании чего-то не хватает. Любая идея о том, где я иду не так?
Спасибо
Mark