Если массив или словарь является корневым объектом, вы должны сделать
NSData * encodedData = [NSKeyedArchiver archivedDataWithRootObject:someArray];
или
BOOL success = [NSKeyedArchiver archiveRootObject:someArray toFile:filePath];
Если это переменная экземпляра пользовательского класса, в методе -encodeWithCoder:
следует сделать
[coder encodeObject:someArray forKey:@"someArray"];
и затем в методе -initWithCoder:
someArray = [[coder decodeObjectForKey:@"someArray"] retain];