GraphicPath
이라는 객체에는 채우기 색상 값으로 CGMutablePath
및 UIColor
값이 저장됩니다. 그런 다음 graphic
이라는 일련의 GraphicPath
개체를 저장하며 궁극적으로 다른 클래스의 drawRect
에 그려진 이미지를 구성합니다.NSMutableArray의 다른 객체에 포인터 저장 및 변경
사용자가이 그래픽으로 색을 바꿀 수있는 작은 모듈도 있습니다. 그래서 나는 그래픽에서이 모듈과 인터페이스하는 모든 색을 추적하는 별도의 NSMutableArray
을 가지고있다. colors
이라고합시다. 나는 colors
을 변경할 때마다 GraphicPath
의 해당 색상 값도 변경되므로 변경해야합니다. 따라서 배열을 변경하려면 GraphicPaths
의 배열 안으로 들어갈 필요가 없습니다.
각 GraphicPath
속성의 UIColor
속성에는 색상에 대한 포인터가 colors
이어야합니다. 나는 배열 UIColor
을 배열 colors
에 유지하는 방법에 대해 혼란스럽고,이 값을 변경할 때마다 GraphicPath
의 해당 값도 변경됩니다.
그래서 'UIColor'속성을 가진'GraphicPath' 개체와'UIColor'의 배열을 변경할 수 있습니다. 그리고 객체가 변경 가능한 배열에서 '변경'될 때, 'GraphicPath'에서 변경되기를 원하십니까? 그러나 'UIColor'는 변경 가능하지 않으므로 오브젝트가 변경되지 않습니다. 어쩌면 개체가 색상 배열에 추가되거나 색상 배열에서 제거 될 때 각 'GraphicPath'는 색상이 여전히 배열에 있는지 확인해야합니다. 색상의 배열에 어떤 특정한 변화가 일어나고 그 변화가 경로 객체로 어떻게 전파되는지에 관해서는 정말 실종 상태입니다. 그걸 확대 할 수 있니? –
사용자가 특정 색상을 변경하거나 그래픽의 모자 색상을 변경하면 해당 색상 배열이 모자 색상을 저장하는 색인으로 변경됩니다. 그런 다음 그래픽이 다시 그려지면 MutableArray에서 모자 색상의 주소를 참조하기 때문에 모자 색상을 저장하는 모든 GraphicPath도 변경됩니다. –
그러면 사용자가 인덱스 3의 색상을 새 것으로 대체하면 색인 3에서 교체 된 색상을 저장하는 '색상'속성이있는 모든 'GraphicPath'가 자동으로 색인 3의 대체 색상을 참조하기 시작해야합니다 ? 해결책은 색상 경로가 색상을 소유하지 않고 일부 키 또는 이름 또는이 경우 색인으로 참조하는 것과 관련이있는 것처럼 보입니다. 그릴 때가되면 적절한 키/이름/색인에서 색상을 검색합니다 ... –