iOS estratégia de armazenamento persistente

Estou desenvolvendo um aplicativo que salva dados no sistema de arquivos local. Os dados que serão salvos serão principalmente NSString e NSDate. Os dados não serão salvos com tanta frequência, talvez novos dados sejam inseridos 10 vezes em um uso típico. Os dados também devem, é claro, ser recuperáveis (CRUD)

Como devo salvar esses dados? Antes de tudo, é necessário modelar esses objetos? Caso contrário, devo usar listas de propriedades? Ou SQLLite3?

Else devo arquivar os modelos de classe? Usar SQLLite3?

EDIT: acidentalmente deixei de fora algumas informações vitais sobre o aplicativo. Na verdade, meu aplicativo terá dois modelos de dados que têm um relacionamento agregado. Portanto, meu primeiro modelo de dados (vamos chamá-lo de DataA) que terá um NSString e o NSDate também terá uma referência ao segundo modelo de dados (vamos chamá-lo de DataB), que consistirá em um NSString e um NSArray. Então fica um pouco mais complicado agora. Se um objeto do DataB for excluído, é claro que deve deixar de existir no DataA (mas o restante do DataA deve ser deixado intocado)

questionAnswers(3)

yourAnswerToTheQuestion