目标C中的寻址和指针

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类上创建复制方法也可能更明智/更容易.

mou*_*iel 5

你只需要在这里和那里添加一些星星:

-(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)

  • 在取消引用之前,应确保缓存实际上不为null. (2认同)