Quelle est la différence entre "faible" et "assign" dans délégué déclaration de la propriété
Quoi la différence entre ça:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
et ce:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
Je veux utiliser la propriété pour les délégués.
Vous devez vous connecter pour publier un commentaire.
La seule différence entre
weak
etassign
est que si l'objet d'unweak
propriété est libéré, alors la valeur de laweak
pointeur sera mis ànil
, de sorte que vous ne jamais courir le risque d'accéder à la poubelle. Si vous utilisezassign
, cela n'arrivera pas, donc, si l'objet se libéré de dessous de vous et que vous essayez d'y accéder, vous aurez accès à ordures.Pour Objective-C objets, si vous êtes dans un environnement où vous pouvez utiliser
weak
, alors vous devriez utiliser.UITableView
aassign
de son délégué:@property (nonatomic, assign) id <UITableViewDelegate> delegate;