我怎么打算释放从类方法返回的数组? [英] How am I meant to release an array returned from a class method?

查看:104
本文介绍了我怎么打算释放从类方法返回的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一段代码,它调用返回 NSMutableArray 的方法:

I have a section of my code which calls a method returning an NSMutableArray like so:

+(NSMutableArray *)method {

NSMutableArray *rgb = [[NSMutableArray alloc] initWithObjects:....., nil];

    return rgb;

}

return 之后放置 [rgb release]; 似乎不起作用。将它放在 return 之前会使我的应用程序崩溃。同时插入 autorelease 会使我的应用程序崩溃。建议?

It gives me a leak every time it's called. Putting [rgb release]; after return doesn't appear to work. Putting it before return makes my app crash. Also putting in an autorelease makes my app crash. Suggestions?

推荐答案

+(NSMutableArray *)method {
    NSMutableArray *rgb = [[NSMutableArray alloc] initWithObjects:....., nil];
    return [rgb autorelease];
}

或者:

+(NSMutableArray *)method {
    NSMutableArray *rgb = [NSMutableArray arrayWithObjects:....., nil];
    return rgb;
}

如果这仍然崩溃,那么问题很可能在这个方法之外,不在内。

IF this still crashes, then the problem is most likely outside of that method, not within.

这篇关于我怎么打算释放从类方法返回的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆