내보기 상태를 복원하고 내보기가 UIPickerView
입니다.encodeObject를 사용하여 UIPickerView를 아카이브 할 수 있습니까?
UIPickerView
에는 그래픽 구성 요소, 즉 배경 휠 이미지가있는 것처럼 보입니다. UIImage
은 보관할 수 없습니다. UIImageView
과 같은 이미지가있는 이미지를 인코딩하려면 먼저 이미지를 nil
으로 설정해야합니다.
그러나 UIPickerView
은 NSCoding
입니다. 즉, encodeObject
및 decodeObject
이 작동해야합니다.
그들은 그렇지 않습니다. 내 말은, 그들은 어떤 오류도 일으키지 않는다는 뜻입니다. 그러나 해독 한 후에는 이미지가없는 UIPickerView
이 표시됩니다. 그것은 좋아 보이지 않는다!
가 여기에 이전과 촬영 후 그냥 미친 않을거야 증명하기입니다 :
전에
이제 한 후, 나도 알아. 내가 현재 사용자 선택을 저장하고 피커의 selectRow
메소드를 호출하여보기를 다시 만들 수 있습니다. 그러나 정말로, 나는 호기심이 많다. UIPickerView
NSCoding
은 실제로는 아니며 배경 휠 이미지를 얻으려면 더 이상 할 수없는 이유는 무엇입니까?
내 요점은 UIPickerView를 재구성 할 수 없다는 것입니다. 그렇다면 NSCoding을 준수해야하는 이유는 무엇입니까? –
Kevin이 설명했습니다. NSCoding은 * 모든 것을 원칙적으로 보관하지 않으며 단순히 재구성하는 데 필요한 데이터 만 보관합니다. – James
NSCoding이하는 일을 너무 많이 읽고 있다고 생각합니다. Apple의 문서에서 : "이 기능은 아카이브의 기초를 제공합니다." 당신이 그것을 만들고자하는 "원 스톱 숍"이라고 절대로 말하지 마십시오. – Kevin