나는 게임을 작성하고 있으며, "장애물"을 만들어야합니다. 나는 장애물을 무작위로 생성하는 메소드를 생성하고 반환합니다. 그들. 우선, 방법,이 같은,iPhone Objective C : 새 객체를 생성하고 반환하는 메서드입니다. 이전 객체를 생성하는 것으로 보입니다.
Obstacle newObstacle = [[Obstacle alloc] init];
[newObstacle setFrame:CGRectMake(randX, randY, 50, 50)];
return newObstacle;
을했지만 디버깅 후, 나는 그것이 같은 주소가 호출 할 때마다 함께, 같은 객체를 반환하고 발견, 그래서하지 않았다 새로운 유일한 객체.
그래서 그때에 코드를 변경 :
return [[Obstacle alloc] initWithFrame:CGRectMake(randX, randY, 50, 50)];
하지만 문제는 아직도 내가 디버깅하려고 할 때 루프 내에서 중단 점을 넣을 경우 가장 중요한 부분은, 여기에있을 것, 그 이 메서드는 호출되고 있기 때문에 (생성기 메서드를 호출하기 전에 잠시 멈춤) 새로운 고유 한 장애물이 생기지 만 루프를 실행하고 모두 생성하면 배열을 검사하여 모두가 같은 대상.
여기에 무슨 일이 일어나는가에 대한 단서가 있습니까? 더 많은 코드를 제공해야하는지 알려주세요.
배열에 넣은 코드를 표시하십시오. –
그들 모두를 생성하는 루프 코드를 우리에게 보여 주면 도움이 될 것입니다 –
당신의 Obstacle 클래스는 싱글 톤 클래스가 아니길 바랍니다. 그 클래스를 작성했다면 그것을 확인하고, 오픈 소스 라이브러리 인 경우, 한번 코드를 살펴 보시기 바랍니다. – Futur