2011-09-23 6 views
-2

배열을 채우는 함수가 있습니다. 그러나 호출 함수에서 배열은 범위를 벗어나지 않지만 그 안에있는 모든 객체는 범위를 벗어납니다.범위를 벗어나는 NSArray의 객체

(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]; 
+1

안녕하세요 당신은 당신이 직면하고있는 정확한 문제가 어떤 코드를 게시해야합니다. – Gypsa

+0

"범위를 벗어난"의미는 무엇입니까? – Thilo

+0

도움이 되었으면 – hemanth

답변

0

마지막으로 디버거로 prob를 알게되었습니다. 내부의 대상이 범위를 벗어나지 않습니다. 하지만 디버거는 그렇게 말합니다.

+1

디버거 데이터 표시가 꽤 희박하고 값을 표시 할 수없는 경우가 있습니다. 중단 점에있는 동안 디버거 콘솔에 "po myObjectName"(특히 "po array"라고 입력)을 입력 해보십시오. –

0
[NSMutableArray array] 

가 .. 자동 해제 배열을 반환합니다.

data =[[self createObjectWith:stringResult] retain]; 

또한 배열이 변수 결과로 무엇을하고 있는지 BTW

Wp *newWp =[[Wp alloc]init] ; 
    newWp.name= @"a"; 
    [array addObject:newWp]; 
    [newWp release]; 

에 추가 한 후 포스트 객체를 해제해야?

+0

이 (가) 도움이 되었기를 바랍니다. 거기에 중단 점을 추가하면 100 개의 객체가 표시됩니다. 그러나 모두 범위를 벗어난 것입니다. – hemanth

관련 문제