これの違いは何ですか?
@property (nonatomic, weak) id <SubClassDelegate> delegate;
この:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
デリゲートのプロパティを使用したいと思います。
回答:
唯一の違いweakとは、assignオブジェクトならばということであるweakプロパティポイントの割り当てが解除されたために、その後の値weakのポインタに設定されnil、あなたがゴミにアクセスする危険を冒すことはないように、。を使用した場合assign、それは起こりません。そのため、オブジェクトがあなたの下から割り当て解除されてアクセスしようとすると、ガベージにアクセスします。
Objective-Cオブジェクトの場合、を使用できる環境にいる場合はweak、それを使用する必要があります。
UITableView持っassignています:@property (nonatomic, assign) id <UITableViewDelegate> delegate;