問題タブ [ekeventstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1937 参照

objective-c - fetchRemindersMatchingPredicate から取得した EKReminder 配列への参照を取得できません

EKEventStore predicateForRemindersInCalendars; を介して NSPredicate を作成すると、それを EKEventStore fetchRemindersMatchingPredicate:completion:^ に渡します。完了コード ブロックによって提供されるリマインダー配列をループできますが、リマインダー配列への参照を保存しようとしたり、配列のコピーをローカル変数またはインスタンスに作成しようとしたりすると、変数、両方の配列は空のままです。リマインダー配列は決してそれらにコピーされません。

これは私が使用している方法です。この方法では、述語を作成し、それをイベント ストアに渡し、NSLog を介してタイトルを記録するすべてのリマインダーをループします。NSLog のおかげで実行時にリマインダーのタイトルを確認できますが、ローカルの arrayOfReminders オブジェクトは空です。また、各リマインダーを NSMutableArray のインスタンス変数に追加しようとしましたが、完了コード ブロックを終了すると、インスタンス変数は空のままです。

ここで何か不足していますか?アプリ全体で使用するすべてのリマインダーへの参照を取得できない理由を教えてください。EKEvents へのアクセスと保存にまったく問題はありませんが、何らかの理由で EKReminders では実行できません。

eventStore ゲッターは、インスタンス化を実行し、イベント ストアへのアクセスを取得する場所です。

最後に、遅延インスタンス化を使用して、remindersForTheDay インスタンス変数を初期化していることを示します。

Apple のドキュメントを読みましたが、これに答えることができる説明はありません。ブロック プログラミングのドキュメントを読んだところ、ブロック内から問題なくローカル変数とインスタンス変数にアクセスできると記載されていましたが、何らかの理由で上記のコードが機能しません。

Google で回答を探しましたが、まだこれを理解していません。

みんな、ありがとう!

ジョナサン。

更新

それ以来、イベント ストアのインスタンス化、テーブル ビューのセットアップ、KVO のセットアップ、提供された推奨事項に従って UI の更新を行う新しいアプリを作成しました。以下のコードはアプリ全体です。UITableView は、リマインダー コンテンツで更新されることはありません。アプリが起動し、私を見つめます。reloadData メソッドを呼び出すと、最終的に UI がリマインダー データで更新されます。

私の NSLog は配列に 372 個のオブジェクトがあることを出力するため、リマインダー データは self.reminders に存在します。

最後に、デバイスで UITableView に触れると、「'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'」でアプリがクラッシュします。

0 投票する
2 に答える
1931 参照

ios - メソッド predicateForEventsWithStartDate:endDate:calendars を使用した EKEvents の検索

predicateForEventsWithStartDate:endDate:calendars特定の 24 時間に発生するすべてのイベントを検索するために使用しています。イベントの一部がこの日に行われるすべてのイベントが必要です。複数日にまたがるイベントの処理に苦労しています。つまり、午後 10 時に開始し、「翌日」の午前 2 時に終了します。

述語クエリは、検索を実行するときにカレンダー イベントの開始日のみを考慮しているようです。指定した時間内に開始された (およびその後終了した) イベントが表示されますが、その期間の前に開始され、その後にリークされたイベントは表示されません。

開始日を早く設定して、今日が始まる前に終了するイベントを削除することもできます。

Apple Docs は特に洞察に満ちたものではありません。

0 投票する
0 に答える
622 参照

iphone - 目標cは、ekeventストアを使用してカレンダーからすべての将来のイベントを削除します

私はこのメソッドを使用して、EKEventStoreを使用してiPhoneアプリの特定のイベントを削除しています

[eventstore removeEvent:イベント スパン:EKSpanFutureEvents commit:YES エラー:&err];

しかし、今私の要件が変更されました。たとえば、今日が 2013 年 7 月 2 日の場合、作成されたすべてのイベントを現在の日付から削除する必要があります。 、

しかし、私は望ましい結果を得ていません。お願いします。この感謝について私を案内し、サードに敬意を表します。

私はios sdk 6.1を使用してxcode 4.5で作業しています。

0 投票する
0 に答える
559 参照

ios - EKEventStore の新しいイベントの作成が機能していないようで、エラーの説明もありません

以下の 2 つのメソッドを使用して、デバイス カレンダーにイベントを作成しています。イベントは、私の managedObject クラスです。

イベントは正常に保存され、デバイスのカレンダーにも表示されますが、イベントは 2001 年のものであり、イベントのリストをスクロールするとイベントが消えます。これには助けが必要です。

0 投票する
1 に答える
609 参照

ios - EKEvent を完了としてマークするにはどうすればよいですか?

ユーザーが EKEvent を完了としてマークできるようにするにはどうすればよいですか? 現在、日付のイベントを取得し、UITableView に表示しています。

ユーザーがイベントセルをタップして完了としてマークするようにします。

その EKEvent を更新して保存し、将来的に完全なイベントとして表示するには、何を変更できますか (任意のタグまたはブール)?

探検しました

event.status, event.refresh, event.organizer, event.availability, etc.

しかし、どれも役に立ちませんでした。

としてみEKEventAvailabilityました

しかし、更新して-1()を返して更新していませんでしたEKEventAvailabilityNotSupported

提案してください!!

ありがとう!

0 投票する
2 に答える
746 参照

ios - EKEventStoreChangedNotification 通知の処理

アプリにイベントをリストしています。ユーザーはイベントを作成、編集、および削除できます。メソッドではviewDidLoad、必要なすべてのイベントをフェッチし、それらを配列にプッシュします。期待どおりに動作します。

私が使用するイベントの作成、編集、および削除にはEKEventEditViewControllerEKEventViewControllerかなりうまく機能します。コントローラーのデリゲート メソッドで、アレイに必要な変更を加え、ビューをリロードします。

もちろん、ユーザーが別のアプリ(組み込みのカレンダーアプリなど)から変更を加えた場合も、知り、処理したいと思います。だから私は観察しEKEventStoreChangedNotificationます。その通知から、どのイベントまたはどのアプリからではなく、「変更が発生しました」のみが表示されます。実際に知りたいのは、変更が自分のアプリまたは別のアプリから発生したかどうか、およびどのイベントが変更されたかです。EKEventEditViewControllerDelegate メソッドで (アプリからの) 変更を既に処理しているため、再度処理する必要はありません。

どのオブジェクトが変更されたかわからない場合は、それらすべてをフェッチしてソートする必要があります。

今のところ、カレンダー (開発デバイス) には 5 つのイベントしかありません。もちろん、すべてのイベントを取得して並べ替えるのは問題ではありませんが、ユーザーが 1000 を超えるイベントを持っている場合、おそらく 1 つのイベントの変更だけではやり過ぎです。

私の質問は次のとおりEKEventStoreChangedNotificationです。

0 投票する
1 に答える
4626 参照

ios - カレンダー デーモンへの述語呼び出しに失敗しました: エラー Domain=EKCADErrorDomain Code=1013

カレンダー デーモンへの述語呼び出しが失敗しました: エラー Domain=EKCADErrorDomain Code=1013 "The operation could't be completed. (EKCADErrorDomain error 1013.)"

デフォルトのアプリからリマインダーを取得しようとしています。

---- 日付のリマインダーの取得-----

次のエラーが表示されます:- カレンダー デーモンへの述語呼び出しに失敗しました: エラー Domain=EKCADErrorDomain Code=1013 "The operation could not be completed. (EKCADErrorDomain error 1013.)"

助けてください。