Escribir y leer objeto personalizado para archivar IOS

tengo este objeto

@interface SeccionItem : NSObject <NSCoding>
{
    NSString * title;
    NSString * texto;
    NSArray * images;
}

@property (nonatomic,strong) NSString * title;
@property (nonatomic,strong) NSString * texto;
@property (nonatomic,strong) NSArray * images;

@end

Con esta implementacion

@implementation SeccionItem
@synthesize title,texto,images;


- (void) encodeWithCoder:(NSCoder *)encoder {
    [encoder encodeObject:title forKey:@"title"];
    [encoder encodeObject:texto forKey:@"texto"];
    [encoder encodeObject:images forKey:@"images"];
}

- (id)initWithCoder:(NSCoder *)decoder {
    title = [decoder decodeObjectForKey:@"title"];
    texto = [decoder decodeObjectForKey:@"texto"];
    images = [decoder decodeObjectForKey:@"images"];
    return self;
}

@end

Quiero guardar una matriz llena de estos objetos en un archivo en el disco.

Estoy haciendo esto:

escribir

[NSKeyedArchiver archiveRootObject:arr toFile:file];

leer

NSArray *entries = [NSKeyedUnarchiver unarchiveObjectWithFile:name];
return entries;

Pero la matriz leída siempre está vacía, no sé por qué, tengo algunas preguntas.

¿Qué formato debo usar para la ruta del archivo? en toFile :?

La NSArray en el objeto está llena de objetos NSData, ¿así que puedo codificarlos?

Realmente estoy perdido en esto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta