从不同的控制器访问时,EKEventstore崩溃

时间:2011-08-25 13:40:20

标签: ios crash

我是新来的,但我一直在阅读。莫斯特利我找到了我想要的东西,但现在我被卡住了。阅读文档并询问谷歌没有帮助,所以我去了:

我有一个应用程序,使用EKEventstore将事件添加到用户的日历中。我曾经从一个单一的视图控制器中做到这一点,包括选择一个用户的日历的功能。我一直在代码中多次创建eventstore,一切正常。

现在我已将我的应用程序升级为更专业的编码,包括多个视图控制器。一个是处理日历选择器(列出所有日历的简单表视图),另一个是创建新事件并将其保存到日历。

EKEvenstore在appdelegate.h中声明

EKEventStore *es;

每个视图控制器在其viewWillAppear方法中定义evenststore:

es=[[EKEventStore alloc]init];

一切正常,我可以从eventstore加载和安全事件,但是一旦我切换到日历选择器视图控制器(只是加载它),然后返回到创建事件的视图控制器,应用程序崩溃。新的发布后我一切都很好。任何想法都受到高度赞赏。

这是异常抛出后的堆栈:

2011-08-25 15:35:18.795 Dutysheet Wx [13864:707] - [UINavigationButton refresh]:无法识别的选择器发送到实例0x688f0a0 2011-08-25 15:35:18.822 Dutysheet Wx [13864:707] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [UINavigationButton refresh]:无法识别的选择器发送到实例0x688f0a0' * 在第一次投掷时调用堆栈: (     0 CoreFoundation 0x30b1364f exceptionPreprocess + 114     1 libobjc.A.dylib 0x3462ec5d objc_exception_throw + 24     2 CoreFoundation 0x30b171bf - [NSObject(NSObject)doesNotRecognizeSelector:] + 102     3 CoreFoundation 0x30b16649 __ 转发 + 508     4 CoreFoundation 0x30a8d180 _CF_forwarding_prep_0 + 48     5 EventKit 0x339bfe1b - [EKEventStore _databaseChangedExternally] + 682     6 EventKit 0x339bf49f DatabaseChanged + 18     7 CoreFoundation 0x30ae2d69 CFNotificationCenterDarwinCallBack + 24     8 CoreFoundation 0x30adfbdf __CFMachPortPerform + 210     9 CoreFoundation 0x30aeaa97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 26     10 CoreFoundation 0x30aec83f __CFRunLoopDoSource1 + 166     11 CoreFoundation 0x30aed60d __CFRunLoopRun + 520     12 CoreFoundation 0x30a7dec3 CFRunLoopRunSpecific + 230     13 CoreFoundation 0x30a7ddcb CFRunLoopRunInMode + 58     14 GraphicsServices 0x303fc41f GSEventRunModal + 114     15 GraphicsServices 0x303fc4cb GSEventRun + 62     16 UIKit 0x30ba3d69 - [UIApplication _run] + 404     17 UIKit 0x30ba1807 UIApplicationMain + 670     18 Dutysheet Wx 0x00002a83 main + 82     19 Dutysheet Wx 0x000029f8 start + 52 ) 抛出'NSException'实例后调用终止

0 个答案:

没有答案