¿Usaría Core Data para una aplicación de iOS con una fuente social (piense en las publicaciones de Facebook), donde a veces tiene la necesidad de persistir esos elementos de la fuente?

Lo que haría: Datos básicos
Debería usar Core Data para el feed social. Core Data proporciona una funcionalidad tan rica con una huella tan pequeña. Pasará bastante tiempo antes de que alguien alcance el final de su capacidad de almacenamiento en un dispositivo iOS. Lo más importante, si el resto de su proyecto está utilizando Core Data, probablemente esté construyendo infraestructura para admitir y abstraer recuperaciones, sincronización, almacenamiento en caché, observación, etc.

Un ejemplo concreto: uso de datos básicos para un feed
En mi proyecto más reciente: en Everest: vive tus sueños y logra tus metas personales, todo fue un NSManagedObject. Usuarios, comentarios, elementos de feed, elementos de notificación, todo. Creamos un mecanismo de sincronización para comunicarse con el servidor y reglas de mapeo para convertir el JSON del servidor en NSManagedObjects consumibles y manejables.

Un ejemplo contrario: rodar su propia capa de datos específicamente para un feed
Como contraejemplo, en Jawbone UP en las primeras implementaciones, utilizamos Core Data para todo excepto el feed social. Es decir, para el feed, hicimos exactamente lo que usted está proponiendo. Utilizamos un simple NSArray de NSDictionaries que recuperamos de un caché. Perdimos todo el caché incorporado que proporciona Core Data para un mecanismo de almacenamiento en caché personalizado. Perdimos toda la verificación del tipo de tiempo de compilación en las relaciones y los atributos. Perdimos toda la infraestructura que habíamos construido a partir de las consultas, el procesamiento y la observación en aras de la “simplicidad”. Todo esto se redujo a una discusión y decisión de ingeniería que acordamos (de mala gana) temprano y varios de nosotros lamentamos cada vez que necesitábamos lidiar con la alimentación.

Lo que creo que deberías hacer: ser coherente
Mi recomendación sería usar lo que usa en toda la aplicación. Si usa Core Data, continúe usando Core Data. Si usa alguna otra práctica como NSArray’s, NSCoding, JSON directo o cualquier otra cosa, continúe usándola. Cualquiera sea su preferencia o nivel de experiencia con Core Date, tiene una base de código funcional y una larga línea de desarrolladores que se harán cargo de usted en el futuro. Lo menos que puede hacer es mantener un cierto nivel de consistencia para que tengan menos con lo que necesitan familiarizarse.

CoreData es una cosa 80/20. Obtendrá el 80% o más de lo que desea de forma efectiva y gratuita. No es * tan * difícil eliminar las publicaciones antiguas en un NSManagedObjectContext diferente. Obtendrá todas las ventajas adicionales que vienen con NSFetchedResultsController en su vista de tabla (supongo que va a estar en algún lugar) y tener CoreData ayuda a administrar el tamaño de su gráfico de objeto.

La alternativa es usar sqlite directamente, un archivo plano u otra cosa para persistir cuando te expulsan de la memoria cuando estás en segundo plano. Esto es con lo que estoy lidiando ahora (FMDB) y descubro que desearía tener muchas características que sacamos de la caja con CoreData.