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

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...