Comme programmeur iPhone début, quelle est la meilleure pratique pour écrire des applications pour être utilisé avec les versions d’iOS 5 ou plues ? Plus précisément, je devrais continuer à utiliser la libération/conserver des données, ou je devrais ignorer cela ? C'est important ?
Réponses
Trop de publicités?Pour ceux qui sont encore curieux sur la façon de désactiver l'ARC sur des fichiers individuels, voici ce que j'ai fait:
- Accédez aux paramètres de votre projet, en vertu de l'
Build Phases > Compile Sources
- Sélectionnez les fichiers que vous souhaitez ARC désactivé et ajoutez -fno-objc-arc drapeaux du compilateur. Vous pouvez définir des indicateurs pour plusieurs fichiers en un seul coup en sélectionnant les fichiers puis en appuyant sur "Enter".
Je ne sais pas si c'est la méthode recommandée, mais cela fonctionne pour moi.
PS: j'ai rassemblé ces informations à partir de clang.llvm.org ici qui est accessible au public, donc pas sous NDA.
C'est à vous. Vous pouvez écrire des applications à l'aide de l'ARC (Automatic Reference Counting), et Xcode va écrire "colle code" pour permettre à votre ARC permis de l'exécution d'applications sur iOS 4, aucune modification nécessaire. Cependant, certaines choses ne fonctionnent pas, et plus particulièrement dans beaucoup de bibliothèques, vous pouvez les utiliser (parfois) lancer d'innombrables erreurs et il vous sera impossible de les utiliser jusqu'à ce que les développeurs de sortir une mise à jour qui est compatible avec l'ARC.
Edit: j'ai récemment découvert que vous pouvez désactiver à l'ARC sur un fichier par fichier. Voir pixelfreak's réponse. Donc, mon conseil est toujours debout, mais maintenant la 3e partie des bibliothèques n'a pas besoin d'être mis à jour pour fonctionner avec de l'ARC.
Voici ce que Apple dit à propos de retrait de l'ARC pour des fichiers spécifiques:
Lors de la migration d'un projet d'utilisation de l'ARC, la -fobjc-arc compilateur drapeau est définie comme valeur par défaut pour tous Objective-C fichiers sources. Vous pouvez désactiver De l'ARC pour une classe spécifique de l'utilisation de l'option-fno-objc-arc compilateur drapeau pour que classe. Dans Xcode, dans la cible Phases de construction de l'onglet, ouvrez le Compiler Groupe de Sources de révéler la liste des fichiers source. Double-cliquez sur le fichier pour laquelle vous souhaitez définir le drapeau, entrez -fno-objc-arc dans la fenêtre pop-up panneau, puis cliquez sur Terminé.
Voir l'intégralité du guide de transition ici.
iOS 5 est encore sous NDA, et probablement jusqu'à la release de la version publique. Si vous avez un compte développeur, la tête sur les Forums des Développeurs Apple et demandez là.
Pour les versions antérieures, vous devez compter les références et les conserver et de les libérer en conséquence. Découvrez le guide de Gestion de la Mémoire.
Edit: Voici un public de spec Automatique de Comptage de Référence et une citation du public iOS 5 de la page:
Automatique de Comptage de Référence (ARC) pour Objective-C permet la gestion de la mémoire le travail du compilateur. En permettant à l'ARC avec la nouvelle Apple LLVM compilateur, vous n'aurez plus jamais besoin de type de retenir ou de libérer à nouveau, ce qui simplifie considérablement le processus de développement, tout en réduisant les accidents et les fuites de mémoire. Le compilateur a une compréhension complète de vos objets, et les communiqués de chaque objet à l'instant, il n'est plus utilisé, alors applications de courir aussi vite que jamais, avec prévisibles, la performance lisse.
Les détails sont lumière/sous NDA pour l’instant, mais Apple a mis en place de comptage automatique de référence (ARC) dans iOS 5, comme détaillé ici : http://developer.apple.com/technologies/ios5/
Si vous développez une nouvelle application dans Xcode 4 avec l’iOS 5 SDK, vous pouvez ignorer en toute sécurité conserver/communiqué de comptage.
[modifier] sudo rm -rf est un bon point ; libs de tiers peuvent être significativement affectées