【发布时间】:2009-11-08 11:47:37
【问题描述】:
我的 iPhone 应用程序中有一个非常奇怪的问题,我认为这与内存损坏有关:
在某一时刻,我需要对数组进行排序,我使用 -[sortArrayUsingFunction] 进行排序。
结果是不正确的,除非我在方法调用之前使用void *test = malloc(2 * sizeof( int )) 之类的东西分配一些内存,或者在排序函数中调用NSLog()(从不调用)。
换句话说:排序只有在我稍微增加调用排序函数之前使用的内存时才有效。我认为这是因为在某些时候,内存会损坏。
你如何调试这样的东西?
【问题讨论】:
-
我想你使用 NSMutableArray sortUsingFunction:context:?您应该发布排序功能;
-
如果您不了解我的应用程序的(太复杂的)上下文,发布排序功能将无济于事。我也不认为问题出在排序功能上,因为那样它总是会失败。
标签: iphone objective-c memory corruption