9
votes

Nouveaux données de base pour iPhone

Je suis nouveau sur la plate-forme iPhone et crée une application qui récupérit une flux RSS et l'affiche dans une vision utile. Je suis devenu cela parfaitement fonctionnant (ou plutôt, la façon dont je voulais). Ce que je pensais, c'était que je stockais les articles d'alimentation actuels sur le téléphone afin qu'il chargerait d'initialement les anciens articles qu'il a stockés lorsqu'il a obtenu le nouvel aliment, puis analysez le nouveau flux et ajoutez les nouveaux articles et rafraîchissez la TableView. J'allais utiliser des données de base pour le stocker les anciens éléments d'alimentation car ce serait un bon moyen d'apprendre des données de base et serait une utilisation appropriée des données de base. Cependant, j'ai une période difficile à apprendre à utiliser les données de base et à le connecter avec la table / tableau.

J'ai déjà googlé et regardé sur Stackoverflow pour des tutoriels mais je n'ai pas encore trouvé tout ce qui l'explique d'une manière que je comprends vraiment. Toute explication des étapes globales qu'il faut pour ajouter des données de base à une application existante serait grandement appréciée. Les détails complets ne sont pas nécessaires (mais seraient également utiles). Je ne suis tout simplement pas très expérimenté avec SQL ou stocker des données de manière à ce que vous rencontrez des difficultés d'envelopper la tête autour de la manière dont tout le concept de données de base fonctionne et comment il se connecte à tout.

Aussi, toute meilleure méthode de faire ce que j'essaye d'accomplir serait également apprécié.


0 commentaires

5 Réponses :


3
votes

Si vous utilisez CoreData pour renseigner un utableview, vous souhaitez vraiment utiliser NsfetchedResultSluStroller par opposition à la tentative de peupler et de synchroniser vous-même. La documentation de NsfetchedResultSlugroller comprend des liens vers plusieurs didacticiels de Coredata, y compris des onces qui remplissent des vues de table.


0 commentaires

8
votes

Il existe des modèles Xcode pour les applications de base basées sur des données; Ce sont un bon départ pour obtenir des données de base sur le sol. Cependant, il semble que vous souhaitiez intégrer les données de base dans votre application existante, vous devez donc ...

  • Ajoutez trois objets de données principaux principaux: le contexte d'objet géré (MOC), le modèle d'objet géré (MOM) et le coordinateur de magasin persistant (PSC). Celles-ci doivent être accessibles partout où vous souhaitez que les données de base soient disponibles, donc dans votre déléguée de l'application ou, plus préférablement, dans la source de contrôleur ou de données pour votre vue table.
  • Créez une mère en Xcode. Ce sera un fichier de type .xcdatamodel, et c'est un graphique d'objet qui définit toutes les entités de données de base que vous souhaitez dans votre application.
  • Utilisez NsfetchedResultSluStroller (comme suggéré par Louis Gerbarg) pour obtenir des données de données de base et l'afficher dans la vue de votre table.
  • Ajouter un code dans vos routines de récupération RSS existantes pour stocker de nouveaux objets de données de base dans le magasin, le cas échéant.

    Un bon moyen de démarrer est simplement de créer une nouvelle application de données de base et de jouer un peu avec elle; Vous pouvez également consulter les ressources fantastiques d'Apple sur le sujet, comme le Guide de programmation de données de base et l'exemple d'applications Recettes et emplacements . (L'enregistrement des développeurs peut être nécessaire.)

    Une dernière chose à noter est que, dans la plupart des cas, beaucoup de code de données de base que vous devez ajouter peut être déchiré directement de l'une des applications de modèle Xcode et collé dans votre programme (cela est particulièrement vrai pour le Accessoires pour les trois objets de données de base dont vous avez besoin). Soyez prudent de ne pas utiliser le code que vous ne comprenez pas, cependant.


0 commentaires

1
votes

NsfetchedResultController est toujours un buggy et nécessite des solutions de contournement fragiles. Je commencerais par le didacticiel «emplacement» de l'emplacement de l'iPhone »plus simple avant de passer au didacticiel des livres.


2 commentaires

Peux-tu être plus précis? Je me souviens de plusieurs bugs ayant des conséquences plutôt méchantes en 3.0, mais je suis à peu près sûr que NsfetchedResultSluTroller est raisonnablement stable et utilisable en 3.1. Y a-t-il encore des problèmes en suspens que je ne connais tout simplement pas?


Lors du déplacement des lignes, le contrôleur de récupération fait référence aux indices intermédiaires de son réseau interne. Si lesdits indices n'existent plus, le rechargement ultérieur des sections provoque un crash immédiat.



1
votes

Aussi, toute meilleure méthode de faire ce que j'essaye d'accomplir serait également apprécié

Oui, il semble que les données de base puissent être surchargées pour votre application. En supposant que vos articles d'alimentation soient stockés dans un objet de collection, vous pouvez facilement utiliser l'OSX Construite en sérialisement .


0 commentaires

0
votes

a été noté dans d'autres poteaux de pile-trop-plein, mais je peux recommander vivement le livre PRAG "Données de base: API d'Apple pour persister les données sur Mac OS X" - la plupart sont également pertinentes pour les applications de données Core iPhone; Il y a aussi tout un chapitre sur la création d'une application iPhone.

http://pragprrog.com/titles/mzcd/core-data


0 commentaires