Iphone NSArray中的对象超出范围
我有一个函数,用于填充数组,然后返回它。但在调用函数中,数组并没有超出范围,但数组中的所有对象都超出范围Iphone NSArray中的对象超出范围,iphone,objective-c,memory-management,Iphone,Objective C,Memory Management,我有一个函数,用于填充数组,然后返回它。但在调用函数中,数组并没有超出范围,但数组中的所有对象都超出范围 (NSMutableArray *)createObjectWith:(NSString *)result { NSMutableArray *array =[NSMutableArray array]; for (int i=0 i<20;i++){ Wp *newWp =[[Wp alloc]init] ; newWp.name= @"a"; [a
(NSMutableArray *)createObjectWith:(NSString *)result
{
NSMutableArray *array =[NSMutableArray array];
for (int i=0 i<20;i++){
Wp *newWp =[[Wp alloc]init] ;
newWp.name= @"a";
[array addObject:newWp];
}
return array;
}
返回自动释放的数组。。如果要使用该数组,最好保留它
data =[[self createObjectWith:stringResult] retain];
此外,在添加到阵列后,还必须释放Wp对象
Wp *newWp =[[Wp alloc]init] ;
newWp.name= @"a";
[array addObject:newWp];
[newWp release];
顺便说一句,你对变量result做了什么?终于知道调试器有问题了。内部的对象不在范围之外。但是调试器是这么说的。您好,您需要发布一些代码。您面临的确切问题是什么。您所说的“超出范围”是什么意思?没有任何区别。当我在那里添加一个断点时,它会显示100个对象。但是所有的都超出了范围。调试器的数据显示非常不稳定,通常无法显示值。当您处于断点时,尝试在调试器控制台中键入“po myObjectName”(尤其是键入“po array”)。
data =[[self createObjectWith:stringResult] retain];
Wp *newWp =[[Wp alloc]init] ;
newWp.name= @"a";
[array addObject:newWp];
[newWp release];