C 구조체와 오브젝티브 C 속성을 ... 혼합나는 CGPoint의 바르와 객체를 정의하고 다음과 같이 속성을 연결 한
@interface Sprite : NSObject {
CGRect boundingBox;
}
@property(assign) CGRect boundingBox;
내가 Sprite 클래스의 인스턴스를 사용하여 BoundingBox의 시도 및 업데이트 구조체는
는 self.boundingBox 실제로 Sprite 객체가 아니라 그것의 사본을 보유하는 구조체가 아닌 C 구조체를 반환 것이라고 말에 나는 수정이 있습니까? 따라서 struct가 임시 복사본 일 뿐이므로 x에 대한 새 값 할당이 실패하면?좌변,745의 왼쪽 피연산자로 요구 ...
내가 내용의 컴파일시 오류가 발생합니다 ... 다음과 같이할당self.boundingBox.origin.x = minX;
이 경우 다음 코드가 올바르게 작동합니다 (원하는 결과를 얻으려면 올바른 방법입니까?).
CGRect newBoundingBox = self.boundingBox;
newBoundingBox.origin.x = self.boundingBox.origin.x;
self.boundingBox = newBoundingBox;
고마워요! 모든 CGRect를 편집 할 수 없다는 점을 제외하고는 모두 의미가 있습니다. 무엇 때문에 그렇게하지 못하게합니까?C 구조체가 변경 가능하지 않습니까? – mmccomb
와우, 여기 내 사과 - 나는이 주석을 완전히 오독했다. 나는 이것에 대한 정확한 정보를 포함하도록 나의 대답을 업데이트했다. –
의미가 있습니다. :) – mmccomb