-2

我是 iPhone 开发的新手。这是我的代码:

- (void)setImage:(UIImage *)image ImageKey:(NSObject *)imageKey
{

    NSNumber *number=(NSNumber*)imageKey;
    int num=[number intValue];
        UIScrollView *scrollViewFamily=(UIScrollView*)[scrollViewProfile viewWithTag:6];
        UIButton *btnPhoto=(UIButton*)[scrollViewFamily viewWithTag:num];
        [btnPhoto setImage:image forState:UIControlStateNormal];

        Photo *aPhoto= [appData.CurrentUser.familyListarray objectAtIndex:num-1000];
        aPhoto.photoImg=image;
 }

scrollview retainCount 是 3,按钮 2 和 aPhoto 1。现在我的问题是这样写是否正确?如果是,那么如何释放这些对象?帮帮我。谢谢...

4

2 回答 2

1

我的建议是给我们 ARC,然后您就不必担心内存管理。如果您仍想手动执行此操作,请直接从有关 retainCount 的文档中获取此建议:

重要此方法在调试内存管理问题时通常没有价值。因为任何数量的框架对象可能已经保留了一个对象以保存对它的引用,而同时自动释放池可能在一个对象上保存了任何数量的延迟释放,所以您不太可能从中获得有用的信息方法。要了解必须遵守的内存管理基本规则,请阅读“内存管理规则”。要诊断内存管理问题,请使用合适的工具:LLVM/Clang 静态分析器通常甚至可以在您运行程序之前发现内存管理问题。Instruments 应用程序中的 Object Alloc 工具(请参阅 Instruments 用户指南)可以跟踪对象分配和销毁。

于 2012-06-05T07:16:44.720 回答
-4

所有行都是指向内存资源的指针,因此没有内存泄漏。您必须在分配内存时释放内存,使用“自动释放”来做到这一点,它会让您的生活更轻松。

于 2012-06-05T07:21:15.967 回答