2010-08-16 2 views
0

이 같은 변경 가능한 배열에 복사하고 : 배열의사본 NSMutableArray를 항목

//copy players' info into playerList from a dictionary 
playerList = [[NSMutableArray alloc] initWithArray:[params objectForKey:@"p"] copyItems:YES]; 

항목은 다음과 같이 copyWithZone을 구현 그러나

- (id)copyWithZone:(NSZone *)zone 
{ 
    PlayerInfo* copy = [[[self class] allocWithZone:zone] init]; 
    [copy setNick:[self nick]]; 
    ... 
    [copy setIsChallengedByMe:[self isChallengedByMe]]; 

    return copy; 
} 

는 playerList은 "개체를 갖고있는 것 같아요 범위를 벗어났습니다. " 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

그런데 더 간단한 playerList = [params objectForKey : @ "p"] mutableCopy를 사용하는 것이 좋습니다. – mrueg

+0

오브젝트가 "범위를 벗어났다"는 것은 무엇을 의미합니까? 변수에는 객체가 아닌 범위가 있습니다. – Chuck

+0

나는 playerList가 "범위를 벗어난"변수의 배열이라는 것을 의미했습니다. – Daniel

답변

1

디버거에서 "범위를 벗어난"것으로 표시된다고 가정합니다. 걱정하지 마십시오. 매우 일반적이어서 반드시 잘못된 것이 아닙니다. 배열에 대한 설명을 콘솔에 인쇄하면 모든 내용이 잘 인쇄됩니다.