gpt4 book ai didi

objective-c - 如何访问 EKCalendar 的 `account` 属性

转载 作者:太空狗 更新时间:2023-10-30 04:01:27 26 4
gpt4 key购买 nike

看看the documentation for EKCalendar .它非常简单,它有五个属性,其中只有一个是名为 title 的字符串。现在,如果您的 iPhone 上有多个日历并打开 iCal 的日历设置,您会看到所有日历都由另一个名为 account 的字符串很好地分组。

我想不通的是,如何做同样的事情,因为虽然当你使用 NSLog EKCalendar 时你可以看到 account > 例如,您无法访问它:

EKCalendar <0x1851b0> {title = Work; type = CalDAV; account = some@addr.ess; allowsModify = YES; color = 0.690196 0.152941 0.682353 1.000000}

没有 account 属性,并且尝试访问 valueForKey:@"account" 也不行,这不足为奇。

那么我如何获得那个 account 属性呢?这么简单的事情,让我发疯!非常感谢您的帮助。

更新: 自 iOS 5.0 以来,EKCalendar has a source property .

最佳答案

如果您使用 class-dump在 iOS 4.3 (Simulator) SDK 上,您会看到有一个只读方法 -(id)accountName。但是,由于它不在 header 中,很遗憾,它是私有(private) API,如果您希望 App Store 接受您的应用程序,则不能使用它。

我推荐你file an enhancement request with Apple请求公开此方法。

仔细想想:如果你真的很绝望,为什么不解析-[EKCalendar description]的输出呢?这是非常非常非常糟糕的风格,将来可能会崩溃,但您可能会通过 App Store 审核;)特别是如果您仅将它用于分组并编写极具防御性的代码,因此它不会崩溃,但如果 description 方法的输出格式不同,根本就不会分组。

关于objective-c - 如何访问 EKCalendar 的 `account` 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com