2011-08-31 3 views
0

L'application que je développe écrit des événements dans un calendrier sur le téléphone de l'utilisateur. Je pensais à précéder l'événement de mon application avec un préfixe comme myapp: afin que je puisse trouver mes événements dans le magasin d'événements à afficher dans une tableview.Choix de prédicat EventKit

Cependant, il semble que le seul prédicat disponible est basé sur une date de début et de fin (- predicateForEventsWithStartDate: endDate: calendars :) lorsque je passe en revue le kit d'événements ios framework. Est-ce que je lis bien? Dois-je simplement créer un calendrier pour mon application au téléphone ou y a-t-il un autre moyen d'identifier mes événements en dehors des dates?

Merci d'avance.

Répondre

0

Une autre option serait d'avoir un stockage local (sqlite, coredata etc ...) qui indexe dans l'événement. Chaque événement a comme identifiant d'événement et vous pouvez récupérer l'événement depuis le magasin via eventWithIdentifier.

Vous ne savez pas quels sont vos modèles d'accès aux données, mais cela vous permet également de stocker rapidement des données dans votre application que vous pouvez interroger de manière efficace (avec une puissante syntaxe de prédicats et sql). Vos résultats locaux pourraient juste renvoyer eventIds et dans les rappels de vue de table vous obtenez l'id pour cette rangée et récupérez du magasin d'événements.

Juste une autre option ...

+0

Hey, c'est une excellente idée, je ne savais pas que je pouvais le faire. Juste pour être sûr que je comprends, quand je crée un événement, je capture également l'ID d'événement, puis le stocke dans mon magasin de données principal dans une entité. Ensuite, je tire du magasin d'événements basé sur ces identifiants d'événements que je tire de mon entité de données de base? – Jazzmine

+0

C'est l'idée de base. Dans ce schéma, vous devez décider qui est le maître des données et vous inquiéter des données non synchronisées. Je suggère d'interroger pour retourner les identifiants, puis obtenir les données que vous affichez dans le magasin d'événements. Vous pouvez également avoir une stratégie de repli ou même des options pour détecter son absence et repasser au magasin d'événements (désolé de ne pas savoir beaucoup de choses sur votre application). Si c'est le cas, vous stockez également les données dans la base de données, ce qui vous permet d'effectuer des requêtes riches, mais vous préférez afficher les données du magasin d'événements. Un peu plus de travail mais beaucoup plus robuste. Vous pouvez aussi re-peupler un calendrier etc ... – bryanmac

+0

Merci beaucoup, c'est une approche innovante. – Jazzmine