我有下面的一组类:与性能的iOS内存管理问题
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
@interface MyViewController : UIViewController
{
NSMutableDictionary *details;
}
@property (nonatomic,retain) NSMutableDictionary *details;
我删除了这个问题的所有不必要的细节。在实现文件中我包括@synthesize details;
我从另一种观点认为转发这一观点,并在该类我得到一个本地词典:
NSMutableDictionary *getData = [responsestring JSONValue];
,我将其设置为可变字典在这门课上,我尝试了两种方式。两者都在下面提到:
objMyVc.details = [[NSMutableDictionary alloc] initWithDictionary:getData];
objMyVc.details = [getData retain];
一旦我在MyViewController中,值的详细信息是ALWAYS为空。这是为什么?在这种情况下,价值不应该保留吗?
[编辑]
我可以证实,getData
不为空,因为我有以下检查:
if ([getData valueForKey:@"VALUE"]) {
}
这是if
声明,我试图分配值内到详细字典并转发到那个ViewController
。我也尝试复制如下:
objMyVc.details = getData;
是的,它会被保留。甚至更多 - 自从你的财产被标记为保留并且你调用额外的分配或保留,你将会有泄漏。另一个地方有些不正确。你如何检查它为空? – beryllium