我有多个视图控制器,它们强烈引用 NSObject 的子类。每个视图控制器都允许用户以某种方式改变这个对象,然后将该对象传递给下一个视图控制器。完成后,用户可以提交这些更改并使用 NSObject 子类的新实例重新开始该过程。我遇到的问题是堆栈上的一些视图控制器保留了对提交实例的引用。
我尝试过使用弱和 unsafe_unretained ,但这使得在视图控制器之间传递对象变得困难。
一旦提交,我基本上需要释放对象的一个实例,这样任何视图控制器对它的引用都将为零。但是,ARC 不允许显式调用 dealloc。
我可以使用 NSNotificationCenter 或使用委托来解决这个问题,但是有没有更清洁的方法呢?
任何见解将不胜感激。谢谢!