在cpp类中保持对ios控制器的弱引用

时间:2014-12-25 22:03:03

标签: ios objective-c automatic-ref-counting

我在mm文件中有一个c ++类。该类接收到指向控制器的指针并保存对它的引用。它接缝表明cpp类拥有对控制器的强引用,并导致内存问题。

如何将弱引用存储到控制器?

2 个答案:

答案 0 :(得分:0)

您可以在构建目标的属性中的“构建阶段”选项卡下的XCode中为单个文件禁用ARC。折叠“编译源”部分并将-fno-objc-arc添加到编译器标志。在许多教程中,建议在cpp-classes中禁用ARC。

现在,该类中的所有NSObject都需要手动内存管理(调用retain / release方法)。

答案 1 :(得分:0)

mm文件是一个objective-c ++文件,除了c ++对象之外,任何类都有相同的内存管理问题是objective-c对象。因此,如果您问题中泄露的对象不是c ++对象,请将其设置为“弱”。如果对象是c ++,那么你显然需要一个不同的策略。