我是一个新的Objective-C编程,有时混淆这种语言的那些所有权概念的好方法....目前我正在学习的iPhone编程....以下哪种方式是初始化
这里区分那些困惑我总是..
我通常使用这些(有时第一和有时其它)
NSMutableArray *array; //Declared in header
壳体1
array1= [databaseClass getData];
案例2
array1 = [NSMutableArray arrayWithArray:[databaseClass getData]];
这里[databaseClass getData]
返回一个对象nonAutoreleased阵列.. 我只想符合是他们的人是正确的?
如果没有的话,请提出正确的....
编辑
我的意思是说,[databaseClass getData]
已经返回我的阵列分配的,现在(我是指非自动释放阵列)我想我并不需要分配我的数组,如果我想在我的班级使用它(我已经测试这和它的作品),我在这里的唯一的问题是关于array1
初始化....难道上面的语句任何人作出任何感觉......如果没有,那么我请求提供一段代码,以使它对我更加清楚...... 谢谢
也许第二个意味着一个额外的方法调用,昂贵:-P – 2011-05-02 11:53:42
好的....请清楚我,在这里我使用[databaseClass getData],返回我一个分配的数组.....然后我的想法是我不应该再次分配我的数组...并且必须释放它,因为它现在是指向数据库类数组的指针 – sajwan 2011-05-02 11:54:55
@Praveen S:我不明白你的意思。我只列出了Objective-C的所有权规则,与“额外的方法调用”无关。 – DarkDust 2011-05-02 11:55:25