I'm using a networker inside of a view controller. The networker has a weak delegate reference to the view controller. After a view controller is dismissed I kick off a timer to check whether the vc has been released. I noticed that it's not being released. I'm not passing my VC into my networker and the reference is weak. If I comment out setting the delegate it works fine.
_networker = [[Networker alloc]
initWithSession:session
path:@"/path/"
parsingHandler:^id _Nonnull(NSDictionary * _Nonnull response) {
DataModel *const dataModel = (DataModel *)[DataModelParser parseDataModelFromResponse:response];
return dataModel;
}
hasLoadedOnce:NO];
_networker.delegate = self;
and in my Networker
class I have the following delegate:
@property (nonatomic, weak, nullable) id<NetworkerDelegate> delegate;
Shouldn't this prevent any retain cycle from being called? Is there some better way to debug this issue?