Antworten:
Der einzige Unterschied zwischen weakund assignbesteht darin, dass weakder Wert des weakZeigers auf festgelegt wird, wenn das Objekt, auf das eine Eigenschaft zeigt, freigegeben wird nil, sodass Sie niemals das Risiko eingehen, auf Müll zuzugreifen. Wenn du benutztassign , geschieht dies nicht. Wenn das Objekt unter Ihnen freigegeben wird und Sie versuchen, darauf zuzugreifen, greifen Sie auf den Müll zu.
Wenn Sie sich für Objective-C-Objekte in einer Umgebung befinden, in der Sie sie verwenden können weak, sollten Sie sie verwenden.
UITableViewhat assignfür seine Delegierten:@property (nonatomic, assign) id <UITableViewDelegate> delegate;