我有以下问题。
假设我有一个名为“ModuleViewController”的 UIViewController 类,其中包含多个动态创建的 UIButtons 和多个动态创建的 Mpmovieplayercontrollers。这些对象中的每一个都有其回调函数,包含在“ModuleViewController”类中。一个回调用于所有 UIButton,一个用于所有 Mpmovieplayer 控制器。
现在我想在 UIScrollview 中添加多个“ModuleViewController”类实例。 我不使用 ARC。如果我在分配这些对象并在我的“ModuleViewController”类中初始化它们后释放这些对象,则按钮和视频不会播放或应用程序崩溃。
目前我的解决方案是有一个 NSMutableArray 在创建它们时存储它们的指针,然后在我稍后释放“ModuleViewController”类时释放它们。(例如,当它从 UIScrollview 的视口离开屏幕时释放“ModuleViewController”类)
例如。如果我保存指针的数组是“objectsRetained”
// 在 ViewDidLoad 上创建 fPointers 数组
NSMutableArray *objectsRetained = [[NSMutableArray alloc] init];
. . // 在数组中添加对象指针,以便在以后的状态下释放它
[objectsRetained addObject:[NSValue valueWithPointer: myObject]];
该解决方案有效,但是当我分析我的应用程序时,它表明该区域可能存在内存泄漏。
还有其他方法可以解决这个问题吗?