Objective c 将NSMutableArray或NSMutableDictionary传递给一个方法——您可以添加到其中吗?
如果我有一个NSMutableArray或NSMutableDictionary并将其传递给方法a la:Objective c 将NSMutableArray或NSMutableDictionary传递给一个方法——您可以添加到其中吗?,objective-c,ios,cocoa-touch,nsmutablearray,nsmutabledictionary,Objective C,Ios,Cocoa Touch,Nsmutablearray,Nsmutabledictionary,如果我有一个NSMutableArray或NSMutableDictionary并将其传递给方法a la: -(void)addToThisArray:(NSMutableArray *)theMutableArray { [theMutableArray addObject:@"test"]; } 把它叫做: NSMutableArray *theMutableArrayToPass = [[NSMutableArray alloc] init]; [theMutableArra
-(void)addToThisArray:(NSMutableArray *)theMutableArray
{
[theMutableArray addObject:@"test"];
}
把它叫做:
NSMutableArray *theMutableArrayToPass = [[NSMutableArray alloc] init];
[theMutableArrayToPass addObject:@"2"];
[self addToThisArray:theMutableArrayToPass];
这是更改NSMutableArray或NSMutableDictionary的有效方法吗?一、 当然,与本例相比,objective-c对数组/字典的作用要大得多,但我已经习惯了Perl,我们一直都是通过引用传递的。是的,objective-c也总是通过引用传递对象 因为这个答案是书面的,所以现在有一个例外,尽管它是一个实现细节,并且没有改变声明的实际细节
标记指针在技术上是按值传递的,因为引用实际上就是数据。根据定义,它们也是不可变的,这就是为什么这是一个没有实际影响的实现细节。是的,objective-c也总是通过引用传递对象 因为这个答案是书面的,所以现在有一个例外,尽管它是一个实现细节,并且没有改变声明的实际细节
标记指针在技术上是按值传递的,因为引用实际上就是数据。根据定义,它们也是不可变的,这就是为什么这是一个没有实际影响的实现细节。。我有一个内存泄漏问题,并试图找到它。我只是想确保当我这样做的时候,我没有复制整个数组/dict并添加到其中——因此不知何故,它没有使用的内存翻了一番。谢谢啊!我再过11分钟就不能接受这个答案了。如果stackoverflow允许,我会这样做。再次感谢!搜索bbum heapshot分析,阅读我写的关于使用heapshot分析跟踪内存增长的文章。这可能会很快解决你的记忆增长问题。祝你好运!天哪!我读了你的文章,这篇文章让我想到了自动释放池。所以,我把它放在一个NSAutoreleasePool*pool=[[NSAutoreleasePool alloc]init]中;[pool release]从1.5G增加到29MB!谢谢你带领我找到了一个方向,帮助我找到了答案。我讨厌与范围相关的自动释放错误。即使它们是我自己的——我早该知道+这一次有两个。一个是帮我回答byRef的问题…另一个是让我彻夜挠头的答案!令人惊叹的很高兴能帮忙@为什么会有这么多相反的答案,或者,或者也许是太棒了。我有一个内存泄漏问题,并试图找到它。我只是想确保当我这样做的时候,我没有复制整个数组/dict并添加到其中——因此不知何故,它没有使用的内存翻了一番。谢谢啊!我再过11分钟就不能接受这个答案了。如果stackoverflow允许,我会这样做。再次感谢!搜索bbum heapshot分析,阅读我写的关于使用heapshot分析跟踪内存增长的文章。这可能会很快解决你的记忆增长问题。祝你好运!天哪!我读了你的文章,这篇文章让我想到了自动释放池。所以,我把它放在一个NSAutoreleasePool*pool=[[NSAutoreleasePool alloc]init]中;[pool release]从1.5G增加到29MB!谢谢你带领我找到了一个方向,帮助我找到了答案。我讨厌与范围相关的自动释放错误。即使它们是我自己的——我早该知道+这一次有两个。一个是帮我回答byRef的问题…另一个是让我彻夜挠头的答案!令人惊叹的很高兴能帮忙@为什么会有这么多相反的答案,或者,或者