Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSArray中的对象超出范围_Iphone_Objective C_Memory Management - Fatal编程技术网

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];