Accueil Médias sociaux Comment utiliser Active Record dans iOS Apps - dummies

Comment utiliser Active Record dans iOS Apps - dummies

Vidéo: Comment utiliser l'application iCloud 2025

Vidéo: Comment utiliser l'application iCloud 2025
Anonim

Active Record est un modèle simple, dans lequel la classe de l'objet modèle en mémoire est étendue avec des méthodes qui gèrent la persistance de la classe. Voici un exemple qui utilise une table nommée PERSONTABLE pour conserver les objets d'une classe Person dans une base de données relationnelle en tant que magasin de données. Voici le fichier d'interface de la classe Person:

@interface Personne: NSObject {// Attributs du modèle @private NSString * Name; @private NSString * SSNo;} - (id) init; - (id) initWithOIDNameAndSSNo: (NSString *) OID: (NSString *) aName: (NSString *) aSSNo; - (NSString *) getName; - (NSString *) getSSNo; - (void) setName: (NSString *) aName; - (void) setSsno: (NSString *) aSSNo; - (void) setAsRetired; // Autres opérations, le cas échéant -d

Seules les méthodes de domaine sont affichées dans cette interface. Les méthodes supplémentaires nécessaires pour la persistance sont définies dans le protocole Persistable:

typedef enum {NEW, EXISTS, CHANGED, DELETED} ETAT; @protocol Persistable // Propriétés requises par le protocole @required @property (copie) NSString * OID; // ID unique dans l'état STATE @required @property (readonly) de la base de données; + (id) findByOID: (NSString *) OID; - (vide) insérer; - (void) mise à jour; - (vide) supprimer; - (vide) persister; -d

Ce protocole déclare deux attributs obligatoires:

  • L'attribut OID : Cet attribut contient l'identifiant persistant de l'objet qui identifiera de façon unique l'objet dans un magasin de données persistant.

  • L'attribut état : Cet attribut indique si l'objet

    • a été nouvellement créé en mémoire (état NEW).

    • Existe dans la base de données (l'état est EXISTING).

    • A été modifié en mémoire après avoir été récupéré dans le magasin de données (l'état est MODIFIÉ).

    • est marqué pour la suppression (l'état est SUPPRIMÉ).

Le protocole déclare ensuite une collection de méthodes que la classe doit implémenter. Vous utilisez la méthode de classe FindByOid pour mettre un objet de la base de données en mémoire. (De telles méthodes sont connues sous le nom de méthodes finder et vous pouvez en avoir plusieurs sortes, comme findByName, findBySSNo, etc.). Le pseudocode pour implémenter cette méthode dans la classe Person est affiché ici:

+ (id) findByOID: (NSString *) anOID {Personne * renvoiePerson; // Instruction SQL pour extraire l'objet de la base de données // Enregistrer NAME et SSNO récupérés dans les variables locales aName et anSSNo … SELECT NAME, SSNO, à partir de PERSONTABLE où OID =: anOID INTO: aName,: anSSNo; aPerson = [[Person alloc] initWithOIDNameAndSSNo: anOID: anSSNo]; aPerson-> state = EXISTANT; returnPourant;}

La logique de cette méthode est la suivante:

  • L'instruction SQL SELECT incorporée récupère les attributs du nom et de la sécurité sociale de l'objet dans la base de données et enregistre ces valeurs dans les variables locales aName et anSSNo.

  • Ces variables avec l'OID instancient et initialisent un objet de la classe Person et le retournent.

Ensuite, vous voyez l'implémentation des autres méthodes du protocole Persistable, dans la classe Person. La méthode persist est appelée chaque fois que l'objet doit être enregistré dans la base de données, comme indiqué ici:

- (void) persistent {// Vérifier l'état de l'objet // S'il s'agit d'un nouvel objet i. e. state = NEW appel [self insert] // pour créer une entrée dans PERSONTABLE // Si state = EXISTS ne fait rien // If state = CHANGED, appelle update pour mettre à jour la base de données // If state - DELETED, appelle delete pour supprimer les informations // dans la base de données}

La méthode persist utilise la variable d'état pour appeler les bonnes méthodes pour la persistance de l'objet.

  • Si l'objet est nouvellement créé, un enregistrement est inséré dans la table de l'objet en utilisant la méthode insert, comme indiqué ici:

    - (void) insert {REPLACE INTO PERSONTABLE (OID, NOM, SSNO) VALEURS: OID: Nom: SSNo …}
    
  • Si l'objet est extrait de la base de données puis modifié en mémoire, la méthode de mise à jour est appelée.

    - (void) update {METTRE À JOUR LES VALEURS SET PERSONNABLES NOM =: Nom, SSNO =: SSNo OERE OID =: OID …}
    
  • Si l'objet est récupéré de la base de données et marqué pour suppression en mémoire, la suppression méthode est appelée.

- (void) delete {SUPPRIMER DE PERSONNABLE O WH OID =: OID; …}

Notez que les méthodes de domaine ainsi que les méthodes finder doivent définir l'état de l'objet de manière appropriée. En conséquence, init définit l'état de l'objet sur NEW, findByOID définit l'état sur EXISTING, setAsRetired peut potentiellement définir l'état sur DELETED, setName et setSSNo définit l'état sur CHANGED (si l'état d'origine était EXISTING), et ainsi sur.

Les méthodes de domaine et les méthodes de persistance sont donc couplées dans une certaine mesure.

Lorsque vous utilisez Active Record pour stocker des objets dans une base de données relationnelle, il associe généralement un objet à une table de base de données, les variables persistantes de l'objet étant mappées aux champs de cette table.

Toute la logique de gestion du cycle de vie de l'objet - décider quand l'extraire de la base de données, autoriser une instance dupliquée en mémoire correspondant au même objet dans la base de données, quand sauvegarder, quand supprimer définitivement des objets - les responsabilités de l'application.

Comment utiliser Active Record dans iOS Apps - dummies

Le choix des éditeurs

Spotify Mobile Service avec un compte Premium - Les nuls

Spotify Mobile Service avec un compte Premium - Les nuls

Les deux principaux avantages des abonnés Spotify Premium sur Spotify Free ou Les détenteurs d'un compte illimité ont la capacité d'accéder au catalogue de diffusion en continu de Spotify via un appareil mobile et d'écouter des pistes en mode hors connexion à l'aide de votre application mobile ou informatique. Ce sont les deux caractéristiques qui justifient le fait que Spotify ...

Spotify Listes de lecture de Mobile - mannequins

Spotify Listes de lecture de Mobile - mannequins

Comme sur votre ordinateur, vous pouvez gérer les listes de lecture Spotify sur votre téléphone. Toute modification apportée à votre liste de lecture est synchronisée sur tous les appareils auxquels vous êtes connecté, en temps réel. Lorsque vous démarrez l'application Spotify, toutes vos playlists sont affichées immédiatement, mais vous pouvez y accéder à tout moment en appuyant sur ...

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de copier des liens Web et des URI vous pouvez coller où vous voulez: dans les blogs, les e-mails, les réseaux sociaux, même les documents de traitement de texte. Cliquez avec le bouton droit de la souris sur ce que vous voulez partager et choisissez une option de copie dans le menu contextuel qui s'affiche généralement. Dans certains cas, si vous savez comment un lien est construit, ...

Le choix des éditeurs

Médias sociaux et marketing par e-mail - nuls

Médias sociaux et marketing par e-mail - nuls

Réseaux sociaux clients potentiels via des sites Web et des e-mails. Rappelez-vous, la suppression des e-mails pour gagner du temps est le mode opératoire pour les gens connectés en ligne dans les affaires ces jours-ci. Certaines entreprises estiment avoir le droit d'envoyer des offres quotidiennes et des promotions accompagnées de fanfares. Est-il même possible pour une entreprise de ...

Social Media Commerce: Enregistrement client par Mobile App - dummies

Social Media Commerce: Enregistrement client par Mobile App - dummies

Certains médias sociaux Les applications récompensent leurs utilisateurs pour l'enregistrement depuis les smartphones au fur et à mesure qu'ils passent d'un endroit à un autre dans le monde des briques et du mortier. Cette activité d'enregistrement mobile est populaire auprès de ceux qui se connectent en ligne. Vous pouvez encourager les gens à se présenter à votre lieu de travail. Le leader actuel sur le marché est Foursquare, un ...

Social Media Commerce: Blog pour votre entreprise - dummies

Social Media Commerce: Blog pour votre entreprise - dummies

Quand vous vous sentez prêt Pour passer à l'étape suivante dans le commerce des médias sociaux et faire quelque chose au-delà d'un site Web d'entreprise, vous pouvez développer un blog pour communiquer avec les clients. Les blogs offrent un espace à votre entreprise pour améliorer son message et répondre aux commentaires des lecteurs. Un blog (à partir du web-journal) peut ...

Le choix des éditeurs

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Bien que Ning supporte 18 langues , avec autant de langues dans le monde, vous devrez peut-être traduire votre réseau en un réseau que Ning ne prend pas en charge. Créer une nouvelle traduction:

Comment syndiquer le contenu de votre réseau Ning - des nuls

Comment syndiquer le contenu de votre réseau Ning - des nuls

Votre réseau Ning vous offre de nombreuses façons d'utiliser Flux RSS pour syndiquer le contenu que vous et vos membres contribuent au réseau. Si les titres des éléments des flux RSS de votre réseau sont suffisamment informatifs et convaincants, les internautes qui visitent d'autres sites Web qui affichent le flux RSS de votre réseau peuvent cliquer sur les titres ...

Comment utiliser le mur de commentaires de Ning - mannequins

Comment utiliser le mur de commentaires de Ning - mannequins

Votre page de profil Ning a un mur de commentaires, où autre Les membres de Ning peuvent vous laisser des messages. Le mur de commentaires permet aux membres de vous écrire quelque chose, d'inclure un lien vers un autre site Web, d'intégrer de la vidéo à partir du réseau ou d'autres sites, ou de poster une photo pour que vous puissiez la consulter. N'importe qui dans le réseau peut partir ...