2013-08-25 44 views
1

所以目前,我有這個EkEvent獲取EkEvent的日曆顏色參考

EKEvent <0xb12dc30> {EKEvent <0xb12dc30> {title = Mitchell Smith’s Birthday; location = (null); calendar = EKCalendar <0x9a532c0> {title = Birthdays; type = Birthday; allowsModify = NO; color = #8295AF;}; alarms = (null); URL = (null); lastModified = (null); timeZone = (null)}; location = (null); startDate = 2013-08-13 07:00:00 +0000; endDate = 2013-08-14 06:59:59 +0000; allDay = 1; floating = 1; recurrence = EKRecurrenceRule <0xb2199e0> RRULE FREQ=YEARLY;INTERVAL=1; attendees = (null)} 

我成功地解析到EKCalendar主要做這個:

NSLog(@"%@", [event valueForKey:@"calendar"]); 

它打印:
EKCalendar <0x9a532c0> {title = Birthdays; type = Birthday; allowsModify = NO; color = #8295AF;}

然後我嘗試獲取EKCalendar的Color屬性:

NSLog(@"%@", [[event valueForKey:@"calendar"] valueForKeyPath:@"color"]); 

它打印:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<EKCalendar 0x9a532c0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key color.' 

我能夠得到的EKCalendar的其他屬性,但是當我訪問color屬性,我得到一個崩潰EVERY時間:(。所以this class is not key value coding-compliant for the key color是我需要了解的,任何人有關於如何獲得這個值的任何想法?

我的主要目標是獲取顏色屬性,將「十六進制」數字轉換爲RBG顏色,然後使用石英顯示顏色的小圓點。我正在將此用於我目前正在實施的日曆應用程序。

回答

4

在EKCalendar上有一個CGColor公共屬性。你應該使用這個。蘋果可以改變他們的描述方法在螞蟻時間打印出來,破壞你的代碼。

UIColor *calendarColor = [UIColor colorWithCGColor:calendar.CGColor]; 
+0

我做了一個編輯的問題,認爲你可以幫忙嗎? :) – jsetting32

+0

沒關係:對不起 – jsetting32

3

根據EKCalendar的文檔,沒有color屬性,您可以訪問但有CGColor屬性,您可以訪問。

@property(nonatomic) CGColorRef CGColor 
+0

我做了一個編輯問題,認爲你可以幫忙嗎? :) – jsetting32

+0

沒關係:對不起 – jsetting32