Хорошо, похоже, что SDK не предоставляет мне ничего, что я мог бы использовать, чтобы проверить, доступно ли EKEvent только для чтения.Я создал обходной путь, создав категорию, добавляющую метод isReadOnly ко всем экземплярам EKEvent.
EKEvent + ReadOnlyCheck.h
@interface EKEvent(ReadOnlyCheck)
- (BOOL) isReadOnly;
@end`
EKEvent+ ReadOnlyCheck.m
#import "EKEvent+ReadOnlyCheck.h"
@implementation EKEvent(ReadOnlyCheck)
- (BOOL) isReadOnly {
BOOL readOnly;
NSString *originalTitle = [self.title retain];
NSString *someRandomTitle = [NSString stringWithFormat:@"%i", arc4random()];
self.title = someRandomTitle;
readOnly = [originalTitle isEqualToString:self.title];
self.title = originalTitle;
[originalTitle release];
return readOnly;
}
@end
Когда вышеуказанные файлы имеются, я могу просто позвонить isReadOnly
на EKEvent по своему выбору.
#import "EKEvent+ReadOnlyCheck.h"
...
if ([event isReadOnly]) {
// Do your thing
}
...