Ici l'information est-ce que je sais sur les propriétés des variables
- atomique //par défaut
- nonatomic
- fort=conserver //par défaut
- faible
- conserver
- attribuer //par défaut
- unsafe_unretained
- copie
- readonly
- readwrite //par défaut
donc, ci-dessous est détaillé lien de l'article où vous pouvez trouver ci-dessus mentionné, tous les attributs, qui a très envie de vous aider.
Un grand merci à toutes les personnes qui donnent de meilleures réponses ici!!
Variable de la propriété des attributs ou des Modificateurs dans iOS
01.forte (iOS4 = conserver )
- il dit: "gardez cela dans le tas jusqu'à ce que je n'ai pas de point de plus".
- en d'autres termes, "je suis le propriétaire, vous ne pouvez pas dealloc ce avant de viser correctement avec la même retenir"
- Vous utiliser seulement si vous avez besoin de conserver l'objet.
- Par défaut, toutes les variables d'instance et les variables locales sont fortes présomptions.
- Nous utilisons généralement forte pour UIViewControllers (INTERFACE utilisateur de l'élément de parents)
- forte est utilisé avec l'ARC et qu'il est fondamentalement vous permet , en n'ayant pas à se soucier de conserver le comte d'un objet. ARC libère automatiquement pour vous lorsque vous avez fini avec elle.En utilisant le mot-clé forte signifie que vous êtes propriétaire de l'objet.
Exemple:
@property (strong, nonatomic) ViewController *viewController;
@synthesize viewController;
02.faible (iOS4 = unsafe_unretained )
- il est dit que "garder cette aussi longtemps que quelqu'un d'autre points à elle fortement"
- la même chose que de céder, pas de conserver ou de libération
- Un "faible" de référence est une référence que vous n'avez pas conservé.
- Nous utilisons généralement faible pour IBOutlets (UIViewController de l'Enfant).Cela fonctionne parce que l'enfant objet uniquement
doit exister aussi longtemps que l'objet parent.
- une faiblesse de référence est une référence qui ne protège pas l'objet référencé à partir de la collecte par un garbage collector.
- Faible est essentiellement attribuer, consignes de propriété. Sauf lorsque l'objet est libéré de la faiblesse de pointeur est automatiquement mis à zéro
Exemple :
@property (weak, nonatomic) IBOutlet UIButton *myButton;
@synthesize myButton;
Expliquer:Grâce à BJ Homer
Imaginez notre objet est un chien et que le chien a envie de fuir (être libéré).
De fortes présomptions sont comme une laisse sur le chien. Tant que vous avez la laisse attachée au chien, le chien ne s'en ira pas. Si cinq personnes de joindre leur laisse d'un chien, (cinq de fortes présomptions pour qu'un seul objet), puis le chien ne s'en ira pas jusqu'à ce que tous les cinq laisses sont détachés.
Des pointeurs faibles, d'autre part, sont comme de petits enfants, pointant vers le chien et dire "Regardez! Un chien!" Tant que le chien est encore sur la laisse, les petits enfants peuvent encore voir le chien, et ils vont encore point. Dès que tous les laisses sont détachés, cependant, le chien s'enfuit de la maison, peu importe combien de petits enfants qui sont pointant vers elle.
Dès que le dernier fort pointeur (laisse) ne pointe plus vers un objet, l'objet sera libéré, et tous des pointeurs faibles seront remis à zéro.
Lorsque nous utilisons des faibles?
Le seul moment où vous souhaitez utiliser la faiblesse, c'est que si vous voulais éviter de conserver des cycles
(par exemple, le parent conserve l'enfant et l'enfant conserve son parent, n'est jamais sorti).