2011-03-24 5 views
3

저는 비교적 이전에 iOS 개발자였습니다. 대부분의 이전 경험은 .NET에서 제공되었습니다. 내 응용 프로그램은 사용자가 배치/크기 조정/etc와 같은 모든 객체를 하위 뷰로 포함하는 상위 UIView가 있다는 점에서 시스템과 같은 캔버스입니다. 이러한 위치/구성을 명명 된 파일에 저장할 수 있기를 원합니다.UIView 및 그 하위 뷰의 직렬화/저장

.NET에서는 단순히 "제목"속성을 가진 UIView를 서브 클래 싱 한 다음이 파일에 직렬화 한 다음 다시 직렬화하여 다시로드 할 수 있지만 코코아에서는 꽤 손실됩니다.

원래 NSCoding을 사용하여이 작업을 수행 할 수 있다고 생각했지만 여러 파일을 저장하는 데는 좋은 해결책이 아닌 것 같습니다.

그래서 Core Data를 살펴 봤지만 UIView와 같은 기존 Cocoa UIKit 클래스의 Core Data 객체를 어떻게 만들 수 있는지 잘 모르겠습니다.

나는 인터넷 검색을하는 동안 시간을 ​​보내고 이런 종류의 곤경에 관한 정보를 찾을 수 없습니다. 무엇을 사용해야하며 가장 좋은 방법은 무엇입니까?

답변

4

은 UIView가 NSCoding을 구현하기 때문에 NSKeyedArchiver로 처리 할 수 ​​있습니다. 그러나 MVC 지향 디자인이 많을수록 사용자는 뷰를 이동하여 데이터 모델을 조작하게됩니다. 저장하려면 뷰 자체가 아닌 모델을 아카이브하십시오.

+2

나는 동의한다 - 아카이브 된 뷰를 모델로 저장하는 것은 좋은 생각이 아니다. 또한 보관 된 UIKit 클래스를 저장하면 사용자가 OS를 업데이트하고 클래스가 변경되어 저장된 데이터가 호환되지 않을 때 문제가 발생할 위험이 있습니다. –

관련 문제