문제

나는 작은 객체 수집에 대한 명백한 직렬화 기능을 좋아합니다. 간단하고 스토리지는 XML 등입니다.

[myDict setObject:keepThis forKey:@"ivar"];

나는 클래스 (또는 심지어 구조)로 파생 된 개체를 사용하는 것을 선호합니다.

myObj.ivar = keepThis

... 그런 다음 컬렉션에 메시지를 보내어 PLIST를 얻습니다. 이 목적에 사용 된 클래스/structs는 제한 될 수 있으므로 직접적이고 쉽게 기본적으로 매핑되도록 제한 될 수 있습니다. 예를 들어, MyOBJ는 nsDictionary에 매핑 될 수 있으며 IVAR에 요구 사항을 배치하여 이들이 기본 원시 중 하나가 될 수 있습니다.

누군가 이미이 시설을 건설 했습니까, 아니면 내 자신을 굴려야합니까?

도움이 되었습니까?

해결책 5

나는 이것을 다른 곳에 게시하는 것을 보았지만 정확히 내가 찾고 있던 것입니다. 위의 답변은 원료 성분을 가리키지 만 여기서는 모두 마무리됩니다. http://retaincount.com/blog/?p=7

다른 팁

나는 이것이 당신이 말하는 것임을 확신하지 못하지만 키 가치 코딩 다른 많은 것들 중에서도 당신을 허락 할 것입니다 인스턴스 데이터에서 값이있는 사전 얻기, 그리고 또한 사전에서 인스턴스 데이터를 설정합니다.

방법도 있습니다 인스턴스에 속성 목록을 요청하십시오, 그러나 그 일을하기 위해 코드를 직접 작성해야한다는 것이 밝혀졌습니다. (그러나 당신은 그것을 사용할 수 있습니다 런타임 내성 원한다면 그것을 구현하기 위해.) 2011 년 1 월 2 일 편집 : -[NSObject attributeKeys] iOS 문서에는 더 이상 나타나지 않습니다. Mac 문서를 가리키기 위해 링크를 편집했지만 해당 플랫폼에서만 옵션 일 수 있습니다.

(그만큼 NSCoding 프로토콜은 객체가 스스로를 저장/복원하도록하는 또 다른 방법이지만, 스토리지는 XML이 아닌 이진이므로 시스템에서 요청할 때 각 값을 얻는/배치 할 책임이 있습니다.)

체크 아웃하고 싶을 수도 있습니다 이렇게 질문 런타임에 인스턴스의 Ivars를 사전에 넣는 것에 대해 논의합니다.

흥미로운 프로젝트. 그만큼 Objective-C 2.0 프로그래밍 안내서 클래스 속성 목록을 동적으로 얻기 위해 런타임 기능에 대한 섹션이 있습니다.

objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount)

이를 통해 카테고리를 작성하는 것은 매우 쉽습니다. NSObject 속성 목록을 가져와 사전에 넣는 메소드를 사용합니다.

이를 위해 속성을 사용하려면 사전 정의 된 키 세트가 있어야합니다. Dot-Syntax와 함께 임의 이름을 사용할 수 없습니다. 첫 번째 피연산자의 알려진 속성 또는 액세서가되어야했습니다. 따라서 일반적인 형태는 없습니다. 그러나 당신이 자신의 것 중 하나를 만들면 사전으로 바뀌는 것만 큼 간단합니다. [self dictionaryWithValuesForKeys:listOfProperties].

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top