Accueil Médias sociaux Comment utiliser le comptage automatique des références (ARC) pour votre application iOS - les nuls

Comment utiliser le comptage automatique des références (ARC) pour votre application iOS - les nuls

Vidéo: 028 — Objective C, autorelease pool 2025

Vidéo: 028 — Objective C, autorelease pool 2025
Anonim

Vous pouvez utiliser ARC pour votre application iOS. Le comptage automatique des références (ARC) est une fonction au niveau du compilateur qui simplifie le processus de gestion des durées de vie des objets Objective-C. Au lieu de devoir vous rappeler quand conserver ou libérer un objet, ARC évalue les exigences de durée de vie de vos objets et synthétise automatiquement les appels de méthode appropriés au moment de la compilation.

Ce n'est pas un nouveau modèle de mémoire d'exécution - et ce n'est pas un garbage collector. Toute l'action se déroule dans le compilateur. L'ARC prend en charge le processus de conservation et de libération des objets en tirant parti des conventions de dénomination (et en faisant appliquer le compilateur). Il s'appuie également sur de nouveaux qualificateurs de propriété de pointeur d'objet.

Pour ne pas vous inquiéter, ARC est en réalité beaucoup plus rapide (a de meilleures performances) que la gestion de la mémoire par vous-même.

ARC n'automatise pas malloc () et free () (fonctions C) et n'automatise pas (CF) ou (CG).

Pour être en mesure de gérer la mémoire à votre place, l'ARC impose certaines restrictions, notamment l'application de certaines pratiques exemplaires et l'interdiction de certaines autres pratiques. Vous n'aurez pas à vous inquiéter de la plupart de cela dans une application créée pour utiliser ARC.

Voici les règles que vous devez suivre pour utiliser ARC dans votre application.

  • Règle 1: n'appelez pas les méthodes retain , release ou autorelease . De plus, vous ne pouvez pas implémenter de coutume ou de méthodes.

    Si vous débutez en programmation Objective-C, cette règle ne vous dira rien, car ce n'est pas quelque chose que vous aurez fait dans vos applications existantes. La seule raison pour laquelle vous aurez besoin de connaître cette règle est de comprendre ce que fait le code non-ARC pour gérer la mémoire. Si vous avez une ancienne main, vous utiliserez ces méthodes, et vous serez heureux d'apprendre pas à les utiliser.

    Vous pouvez fournir une implémentation personnalisée de dealloc si vous devez gérer d'autres ressources.

  • Règle 2: Ne stockez pas les pointeurs d'objet dans les structures C. Parce que le compilateur doit savoir quand les références vont et viennent, vous ne pouvez pas stocker les pointeurs d'objet dans les structures. Pour la plupart des lecteurs, ce ne sera pas un problème car vous utiliserez des objets plutôt que des structures en C.

  • Règle 3: Informez le compilateur de la propriété lorsque vous utilisez des objets de type Core Foundation. Dans les applications iOS, vous utilisez souvent le framework CoreFoundation.

    Les objets CoreFoundation sont quelque chose qui commence par un CF - des choses comme les fonctions du carnet d'adresses, par exemple.Un objet CoreFoundation ressemblerait à ceci:

    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) burnRubberURL, burnRubberSoundID);
    

    ARC ne gère pas automatiquement les durées de vie des types CoreFoundation, et vous pouvez utiliser des règles et fonctions de gestion de la mémoire CoreFoundation, telles que CFRetain et CFRelease (ou les variantes spécifiques au type correspondantes).

    La plupart du temps, vous n'avez pas à vous soucier de la gestion de la mémoire, car vous allez généralement lancer un objet Objective-C vers un objet de type CoreFoundation, ou inversement, ce qui fait que CoreFoundation n'a plus de mémoire. gestion dans votre code. Cependant, vous devez toujours informer le compilateur des implications de la gestion de la mémoire.

    Vous dites simplement à ARC de ne pas s'inquiéter en utilisant un casting de _bridge.

    Si vous disposez d'une gestion de la mémoire CoreFoundation, des macros telles que CFBridgingRetain ou CFBridgingRelease transfèrent la propriété entre ARC et CoreFoundation.

  • Règle 4: Utilisez le mot-clé @autoreleasepool pour marquer le début d'un blocage autorelease. Ce n'est pas quelque chose dont vous serez préoccupé - ou que vous ferez jamais, d'ailleurs. Mais c'est une règle néanmoins.

  • Règle 5: Suivez les conventions de nommage. Le compilateur sait s'il faut conserver un objet en fonction de ce qui est retourné. Parfois, l'objet renvoyé par une méthode est conservé, et parfois il est autoreleased plus tard. Si l'objet doit être auto-libéré, l'objet doit être conservé. S'il est déjà conservé, vous ne voulez pas que le compilateur fasse quoi que ce soit.

    La seule façon pour le compilateur de savoir si un objet a été conservé lors de son retour est de respecter certaines conventions de dénomination. Sous ARC, ces conventions de nommage font maintenant partie du langage, et vous devez les suivre.

    Le compilateur sait qu'un objet retenu a été renvoyé lorsque le premier mot de la première partie du sélecteur (le nom de la méthode) est alloc, new, copy, muteable copy ou init. Ces méthodes transfèrent la propriété - où propriété transférée signifie que l'objet a été conservé pour vous. Un exemple est la méthode initWithFormat: NSString. (Rappelez-vous que la «propriété» n'est pas la propriété exclusive: plusieurs objets peuvent posséder simultanément un seul objet.)

    De plus, vous ne pouvez pas donner un nom à une propriété qui commence par.

  • Règle 6: Il suffit de suivre les règles. Ça y est - pas de relâchement ou d'auto-libération. Il suffit de suivre les règles et le code au contenu de votre coeur sans vous soucier de la gestion de la mémoire.

    Sauf, bien sûr, dans certaines situations, vous devrez indiquer explicitement au compilateur ce que vous voulez faire. Dans ces cas, vous devrez indiquer explicitement au compilateur la durée de vie d'un objet.

Comment utiliser le comptage automatique des références (ARC) pour votre application iOS - les nuls

Le choix des éditeurs

Comment utiliser les estimations du travail dans QuickBooks 2012 - dummies

Comment utiliser les estimations du travail dans QuickBooks 2012 - dummies

Si vous avez dit à QuickBooks 2012 que vous voulez pour créer des estimations - vous le faites pendant la configuration de QuickBooks - vous pouvez créer des estimations d'emploi des montants que vous facturez plus tard. Pour créer une estimation de travail, choisissez la commande Clients → Créer une estimation. QuickBooks affiche la fenêtre Créer des estimations. En un mot, vous remplissez le formulaire Créer des estimations ...

Comment utiliser les estimations du travail dans QuickBooks 2011 - les nuls

Comment utiliser les estimations du travail dans QuickBooks 2011 - les nuls

Si vous avez dit à QuickBooks 2011 que vous voulez pour créer des estimations - vous le faites pendant la configuration de QuickBooks - vous pouvez créer des estimations d'emploi des montants que vous facturez plus tard. Pour créer une estimation de travail, sélectionnez Clients → Créer des estimations. QuickBooks affiche la fenêtre Créer des estimations. Une estimation n'est qu'un exemple ou une conjecture sur l'avenir ...

Comment utiliser les classes pour l'établissement des coûts par activité dans QuickBooks 2011 - les nuls

Comment utiliser les classes pour l'établissement des coûts par activité dans QuickBooks 2011 - les nuls

Définis une classe dans QuickBooks pour chaque produit ou service pour lequel vous voulez mesurer la rentabilité. Par exemple, si vous possédiez une entreprise de vente de hot-dogs, vous créeriez deux classes dans QuickBooks: une pour les hot-dogs ordinaires et une pour les chilidogs. Pour configurer un cours, vous pouvez simplement entrer ...

Le choix des éditeurs

Configuration et lecture des flux RSS via Outlook 2007 - Les mannequins

Configuration et lecture des flux RSS via Outlook 2007 - Les mannequins

Outlook 2007 dispose d'un dossier distinct pour la réception Flux RSS, de sorte que vous pouvez organiser les informations d'une manière que vous trouvez utile. Généralement, vous n'avez pas besoin de savoir comment fonctionne le RSS, mais il est bon de savoir qu'il est disponible quand cela vous est utile. RSS signifie Really Simple Syndication ou Rich Site Summary. RSS ...

En triant une liste dans Outlook 2007 - des mannequins

En triant une liste dans Outlook 2007 - des mannequins

En termes d'Outlook 2007, le tri signifie simplement mettre votre liste en ordre. En fait, une liste est toujours dans un ordre quelconque. Le tri change juste l'ordre. Vous pouvez dire dans quel ordre votre liste est triée en recherchant des triangles dans les en-têtes. Un en-tête avec un triangle signifie que l'ensemble ...

Abonnez-vous à YouTube Channel dans Outlook 2013 - des mannequins

Abonnez-vous à YouTube Channel dans Outlook 2013 - des mannequins

Le moyen le plus simple de s'abonner aux chaînes YouTube dans Outlook 2013 est d'utiliser Internet Explorer. Vous avez besoin d'Internet Explorer version 7 ou ultérieure pour le faire. Lorsque vous vous abonnez à un flux dans Outlook ou Internet Explorer, ce flux devient disponible dans les deux programmes. Internet Explorer vous permet de vous abonner plus facilement ...

Le choix des éditeurs

Office 2011 pour Mac: commentant une présentation PowerPoint partagée - les nuls

Office 2011 pour Mac: commentant une présentation PowerPoint partagée - les nuls

PowerPoint 2011 pour Mac a des outils de commentaires qui vous aident à communiquer avec les autres lorsque vous collaborez tous sur une présentation. Le groupe Commentaires de l'onglet Révision du ruban Office 2011 vous permet de communiquer avec votre collaborateur (ou avec vous-même) sans perturber le contenu de vos diapositives. Les zones de commentaire sont des zones de texte ...

Comment afficher les diapositives dans PowerPoint 2008 pour Mac - dummies

Comment afficher les diapositives dans PowerPoint 2008 pour Mac - dummies

Vous avez cinq façons d'afficher votre travail dans PowerPoint dans Office 2008 pour Mac: vue normale, vue Trieuse de diapositives, vue Diaporama, vue Page Notes et vue Outils Presenter. Il existe également trois vues principales: Diapositive, Document et Notes. Vous pouvez choisir l'une des vues dans le menu Affichage, ou vous pouvez cliquer sur ...

Office 2011 pour Mac: Formats de fichiers pour l'enregistrement de présentations PowerPoint - mannequins

Office 2011 pour Mac: Formats de fichiers pour l'enregistrement de présentations PowerPoint - mannequins

Les formats de fichiers XML ouverts basés sur le Web ont révolutionné la façon dont Office stocke le multimédia dans ses documents, et PowerPoint 2011 ne fait pas exception à la règle. Tous les formats XML répertoriés dans Fichier → Enregistrer sous sont des packages qui contiennent la présentation et des copies de fichiers multimédias intégrés (images, sons et films). Les formats de fichier sont ...