我有一个循环,我想在每次迭代中重新定义数组的内容。我担心泄漏。这段代码有什么问题吗?iOS循环和泄漏
for (int i=0;i<numberOfReps;i++){
NSArray *shuffledArray=[self shuffleArray:originalArray];
// use shuffled array
}
感谢您的阅读!
编辑:
这里是shuffleArray(从What's the Best Way to Shuffle an NSMutableArray?信贷Kristopher约翰逊):
-(NSArray*)shuffleArray:(NSArray*)array{
NSMutableArray *newArray=[NSMutableArray arrayWithArray:array];
NSUInteger count = [newArray count];
for (NSUInteger i = 0; i < count; ++i) {
// Select a random element between i and end of array to swap with.
int nElements = count - i;
int n = (arc4random() % nElements) + i;
[newArray exchangeObjectAtIndex:i withObjectAtIndex:n];
}
return [NSArray arrayWithArray:newArray];
}
(和我使用ARC)
您需要发布-shuffleArray方法的内容。迄今为止您发布的代码中没有任何泄漏。 –
你可以通过创建你自己的类并在init'和'dealloc'方法中放入一条NSLog语句来轻松地进行测试。 – nhgrif