내 응용 프로그램의 벡터에 매우 이상한 문제가 있습니다.맞춤 바인딩 가능한 클래스 및 벡터와 관련된 이상한 문제
세부 사항 ...
다음과 같은 클래스가 있습니다.
Person, Player, PlayerController.
Player extends Person. Person은 바인딩을 가능하게하기 위해 ObjectProxy를 확장합니다. Player 클래스에는 [Bindable] 태그가 있습니다.
PlayerController 클래스에는 firstname과 lastname을 받기 위해 php 메서드를 호출하는 원격 개체가 들어 있으며 CallResponder가 호출 결과를 얻으면 Result Handler는 Player 인스턴스를 만듭니다. 그 순간에 Player 객체를 벡터로 푸시하려고합니다.
문제는 다음과 같습니다.
push 메서드를 호출 할 때마다 벡터의 마지막 부분에 만들어진 마지막 플레이어가 벡터에 채워집니다. 다른 인스턴스도 대체합니다! 따라서 벡터에는 항상 가장 최근의 플레이어 인스턴스가 포함되지만 모든 인스턴스에 포함됩니다. : S
나는 또한 Array로 결과를 얻으려고 시도했다.
내가 잘못하고있는 것에 대한 의견이 있으십니까? 나를 미치게하고있어. : S
플레이어 인스턴스는 PlayerController 클래스의 전용 변수입니다. 클래스 내부의 전용 벡터로 푸시하여 이상한 결과를 얻으려고 시도했습니다. 또한 컨트롤러에 포함 된 구성 요소의 벡터에서이를 밀어 넣으려고 시도했지만 동일한 문제가 발생했습니다. 결과 핸들러의 코드는 다음과 같습니다. player_.firstName = results [firstName]; player_.lastName = 결과 [성]; players_.push (player_); 내가해야 할 일을하고 있습니까? 또는 나는 무엇인가 놓치고 있냐? : S –
위의 수정 사항을 참조하십시오. 이렇게하면 문제가 해결됩니다. –
나는 충분히 감사하지 않는다! 지난 3 ~ 4 일 동안 답을 찾고 있었기 때문에 당신은 곤경에 처한 날부터 나를 구해 냈습니다. 나는 당신이 당신의 대답을 편집하고있을 때 함수에서 새로운 객체를 생성하려고 생각했습니다. : D –