내 모델 개체가 SQLite 데이터베이스에서 지연로드됩니다. 이유를 묻지 말고 코드에서 QuickLite을 사용하여 개체를 채 웁니다. 즉, 처음으로 접근자가 사용되기 전에 일부 정리 작업을 수행해야합니다. @ synthesize'd 접근 자 이전에 작업을 수행하는 방법은 무엇입니까?
나는 단순히 필요한 경우 DB에서 개체를 채우기 위해 사람들이 방법을 과부하 수 있도록valueForKey:
및
setValue:forKey:
가의
@synthesize
'D 접근에 의해 호출 될 것이라고 순진하게 생각했다. 불행히도 작동하지 않습니다. '접근자는 명시된 값을 가져 오거나 설정하는 데 KVC를 사용하지 않습니다.
질문 : 따라서 모든 getters/setters를 직접 작성하지 않고 @property
에 액세스하기 전에 코드를 호출하는 방법이 있습니까?
나는 그것을하고 싶습니다. 그리고 앱의 다음 주요 릴리즈에서 그렇게 할 것입니다.하지만 지금 당장의 문제는 제가 레거시 코드를 다루고 있으며, 리팩토링하지 않으려 고합니다. 쪽으로. 핵심 데이터 경로를 사용하지 않고 이런 종류의 동작을 얻는 방법에 대한 아이디어가 있습니까? – DaGaMs
업데이트 된 답변에 반쯤 구운 아이디어. – jrturton
고마워, 그건 흥미로운 해킹이야 ... 내가 그 길을 갈 것이라는 것을 확신하지는 않지만 내 질문에 대한 유효한 대답이다. – DaGaMs