작업 내용 :NSManagedObject를 대리자로 만드는 것이 좋습니다.
저는 1-30 개의 하드웨어 장치와 동시에 통신하는 응용 프로그램을 개발 중이며 각 장치마다 자체 TCP 연결이 있습니다.
따라서 "hardwareObject"라는 엔티티를 만들었습니다.이 엔티티는 해당 장치의 일부 속성을 나타냅니다. 값 1과 값 2.
"hardwareObject"엔티티의 일시적인 속성으로 정의한 연결 처리기 클래스를 만들었습니다. UI 변경시 핵심 데이터 객체가 수정되고 핵심 데이터 객체 자체가 value1 또는 value2의 변경 사항을 전송하도록 연결을 알립니다.
새 데이터가 대리자 메서드를 통해 도착한 경우 "hardwareObject"의 인스턴스에 알리고 싶습니다. 따라서 해당 특성의 대리인입니다.
NSManagedObject를 s.th의 대리인으로 만들면 궁금합니다. 좋은 연습 이니?
오류 또는 기타 핵심 데이터 관련 문제가 발생할 수 있습니까? 아니면 각각의 연결 핸들러를 처리하고 필요할 때만 핵심 데이터 객체와 통신하는 sharedInstance 마스터 연결 핸들러 객체를 생성해야합니까?
그러면 NSManagedObject 하위 클래스를 "활성"상태로 유지하기 위해 대리자 속성을 할당하는 대신 대리자 속성을 유지하는 것이 좋습니다. – b00tsy
'obj <-> delegate' 관계가있을 때마다 두 끝 (obj 및 delegate)이 서로 관계가있는 한 유효한 지 확인해야합니다. * classic * 접근 방식은 대리자가 obj를 유지하는 방식입니다 (예 :뷰 컨트롤러는 테이블 뷰를 유지합니다.) obj는 델리게이트에 대한 약한 참조를 가지고 있습니다 (테이블 뷰는 뷰 컨트롤러에 약한 참조를가집니다). 이것도 사용할 수 있지만 관리 객체가 없어지면 (-didTurnIntoFault' 내에서) 관리 객체가 자신을 대리자로 설정 해제하는지 확인해야합니다. 그렇지 않으면 포인터가 매달리게됩니다. –