ale*_*x25 2 arrays iphone pointers objective-c
可能问题是直截了当但我不理解它.
我有以下iPhone代码
for(int x = 0 ; x < [allFriends count] ; x++)
{
Friend *f = [[Friend alloc] init];
f = [allFriends objectAtIndex:x];
if([uid isEqualToString:[f uid]])
{
[f AddAlbum:album];
[allFriends replaceObjectAtIndex:x withObject:f];
}
}
Run Code Online (Sandbox Code Playgroud)
无论我在哪里调用[f release]该应用程序总是崩溃.为什么?(BTW循环运行几千次)
有更有效的方法吗?
我想我提供了足够的代码,如果没有,请告诉我!
谢谢你的帮助!
您在此行中创建的对象(可能是尝试发布):
Friend *f = [[Friend alloc] init];
Run Code Online (Sandbox Code Playgroud)
当你分配f给你从数组中获取的对象时,会立即泄露:
f = [allFriends objectAtIndex:x];
Run Code Online (Sandbox Code Playgroud)
所以它确实是你要释放的对象,这意味着数组中的指针不再有效(它指向一个已发布的实例).
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |