Ios Appdelegate中的控制器从未释放
我的AppDelegate中有一个强引用,当我弹出控制器时,它不会被释放Ios Appdelegate中的控制器从未释放,ios,objective-c,appdelegate,strong-typing,Ios,Objective C,Appdelegate,Strong Typing,我的AppDelegate中有一个强引用,当我弹出控制器时,它不会被释放 @property (nonatomic, strong) MenuViewController *menuViewController; 这个控制器根本没有被解耦合,因为我nslog dealloc并且它没有出现。有没有一种方法可以绕过这个问题,而不把这个财产放到其他地方?我之所以这样假设,是因为Appdelegate是一个单例,并且所有属性在整个应用程序生命周期中都保持活动状态。我不确定您如何使用此引
@property (nonatomic, strong) MenuViewController *menuViewController;
这个控制器根本没有被解耦合,因为我nslog dealloc并且它没有出现。有没有一种方法可以绕过这个问题,而不把这个财产放到其他地方?我之所以这样假设,是因为Appdelegate是一个单例,并且所有属性在整个应用程序生命周期中都保持活动状态。我不确定您如何使用此引用,但您可以将其设置为
弱
指针:
@property (nonatomic, weak) MenuViewController *menuViewController;
初始化并显示menuViewController
后设置指针
如果您必须首先初始化
menuViewController
并保留一个引用供以后使用,那么您应该在不再需要它时设置self.menuViewController=nil
。是的,它不会自动解除分配,但您可以手动将menuViewController设置为nil。