Je travaille sur une application iPhone qui représente graphiquement une base de données volumineuse, accessible via core-data, dans un graphique linéaire. J'utilise une approche en mosaïque pour rendre ce graphique. La distance entre les points de données est irrégulière.Comment obtenir un point de données supplémentaire au-delà de la plage de données demandée dans les données de base?
Chaque tuile utilise un prédicat pour récupérer les données pertinentes pour cette tuile:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"creationDate > %@ AND creationDate < %@",tileBeginDate, tileEndDate];
[request setPredicate:predicate];
NSMutableArray *result = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
J'ai un problème lors de l'élaboration des lignes entre des points de données résidant dans des tuiles différentes, puisque le dessin de cette ligne nécessite une datapoint en dehors de la plage de la tuile.
Idéalement, je voudrais être en mesure d'obtenir un point de données au-delà de la plage demandée dans les données de base. Est-ce qu'il y a un moyen de faire ça? Si non, d'autres suggestions?
J'ai un certain nombre de solutions différentes, dont aucune vraiment résoudre mon problème satisfaisant:
- Pour chaque carreau, récupérer une quantité fixe de données au-delà de cette tuile ainsi.
Problème: Cette méthode est inefficace et échoue lorsque le point de données suivant est toujours en dehors de la plage demandée.
- Pour chaque point de données, mémorisez également le point de données suivant et le point de données précédent.
Problème: Augmente l'empreinte mémoire et la taille de la base de données de trois fois.
- effectue une recherche incrémentielle pour le point de données suivant.
En fait, je pense que cela pourrait être la solution. Ajoutez simplement une requête supplémentaire pour obtenir le point de données suivant. Duh.
– TinkerTank