Blu*_*ame 0 memory iphone objective-c
所以这就是问题所在.
我有一个方法(或在obj-C中调用它们的消息)我传入一个指向对象的指针.
在该方法中,我将更改指针指向的内容,并释放旧对象.我希望实例变量(传递给方法)现在引用分配给它的新值.基本上让变量在像C#这样的语言中像OUT参数一样运行
-(NSDictionary *) GetListWithCommand:(NSString*) command andCache:(CachedMutableDictionary*) cache
{
CachedMutableDictionary* Dictionary = [Getfrom somesource];
CachedMutableDictionary* temp = cache;
cache = [Dictionary retain];
[temp release];
}
Run Code Online (Sandbox Code Playgroud)
所以我相信我需要发送一个缓存变量的引用地址,然后能够在地址级别或对象级别引用它.
在CachedMutableDictionary类上创建复制方法也可能更明智/更容易.
你只需要在这里和那里添加一些星星:
-(NSDictionary *) GetListWithCommand:(NSString*) command
andCache:(CachedMutableDictionary**) cache
{
CachedMutableDictionary* Dictionary = [Getfrom somesource];
CachedMutableDictionary* temp = *cache;
*cache = [Dictionary retain];
[temp release];
}
Run Code Online (Sandbox Code Playgroud)