NSCoding com objetos personalizados aninhados?

Eu tenho uma série de objetos aninhados que eu estou precisando colocar através do protocolo NSCoding para que eu possa salvar o objeto de nível superior em NSUserDefaults.

Aqui está a estrutura dos objetos:

Aula de 'Instrutor'

NSMutableArray que contém instâncias de ...

Classe 'classe'

NSMutableArray que contém instâncias de ...

Aula de 'estudante'

Propriedade de nomePropriedade numéricaPropriedade do Dinheiro

Estou precisando salvar uma instância de Instrutor para NSUserDefaults ou para documentos para o aplicativo. Como você pode ver, o objeto Instrutor está segurando uma matriz que está armazenando instâncias de uma classe. Esse objeto de classe está mantendo instâncias de alunos.

O protocolo NSCoding é recursivo? O que quero dizer com isso é que, se eu adicionar o protocolo NSCoding a cada classe, eu poderia salvar um objeto Instructor e codificá-los recursivamente?

Funcionaria da mesma maneira enquanto decodificava? Eu poderia simplesmente decodificar a classe de um instrutor e decodificaria recursivamente os objetos contidos porque eles também estão em conformidade com o protocolo NSCoding?

Como eu poderia fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion