As we know, we will declare a delegate object with weak that can break strong reference cycle:
// MyObject.h
...
@property (nonatomic, weak) id<MyDelegate> delegate;
...
// ViewController.m
...
self.myObject.delegate = self;
...
and I want to know: can we declare delegate with strong, and set a weakSelf to it:
// MyObject.h
...
@property (nonatomic, strong) id<MyDelegate> delegate;
...
// ViewController.m
...
__weak typeof(self) weakSelf = self;
self.myObject.delegate = weakSelf;
...