Antworten:
Der einzige Unterschied zwischen weak
und assign
besteht darin, dass weak
der Wert des weak
Zeigers 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.
UITableView
hat assign
für seine Delegierten:@property (nonatomic, assign) id <UITableViewDelegate> delegate;