Это действительно зависит от того, насколько вы ожидаете изменения вашей модели данных.Работа с изменениями, когда у вас есть модель данных на основе собственного класса, может быть сложной, особенно если у вас есть архивы (NSCoding) с разными версиями модели (в уже поставленных версиях вашего приложения), вы должны быть очень осторожны, чтобы обеспечить обратную совместимость иизбежать неприятных сюрпризов во время выполнения.В этом отношении модели, основанные на NSDictionary, как вы говорите, более гибкие.Однако они не допускают все настраиваемые проверки и поведение, которые делают пользовательские классы.Кроме того, пользовательские классы делают модель данных более явной для кодеров, незнакомых с кодом, по моему опыту, разработчики часто бывают неаккуратными (особенно неопытными) при работе с моделями на основе NSDictionary, что может быстро привести к непонятному беспорядку, поэтому, если вы уйдете внизмаршрут, документ хорошо и быть дисциплинированным!