나는 이런 식으로 뭔가 보이는 헤더 클래스 A가 :설정 값은
typedef struct {
int x;
int y;
} Position;
@interface ClassA : NSObject
@property Position currentPosition;
@end
을 그리고 나는 속성에서 위치 구조체의 개별 값을 할당하려고
ClassA * classA = [ClassA new];
classA.currentPosition.x = 10;
"표현식을 할당 할 수 없습니다"라는 오류가 발생하며 컴파일되지 않습니다.
ClassA * classA = [ClassA new];
Position position = {
.x = 1,
.y = 2
};
classA.currentPosition = position;
그리고 난 이런 position
변수의 개별 "속성"변경할 수 있습니다 :
I는 다음과 같이 설정할 수 있습니다
ClassA * classA = [ClassA new];
Position position = {
.x = 1,
.y = 2
};
// WORKS
position.x = 4;
// DOESN'T WORK
// classA.currentPosition.x = 4;
classA.currentPosition = position;
가 왜 개별적 때 값을 설정할 수 없습니다
을 그들이 재산이야?
typedef를 사용한 경우 @property 선언에 'struct'를 추가 할 필요가 없습니다. –
@NicolasMiari - 나는 그것을 고치고, 다른 선언 방법을 시도해 왔으며, 나는 잘못된 것들을 복사했다. – Logan
pre-declared-property 임에도 불구하고 [CGRect가 인스턴스 일 때 CGRect 요소에 대한 할당 액세스 방법] (http://stackoverflow.com/q/5860755)을 참조하십시오. –