Я пытаюсь отсортировать NSMutableArray объектов YOEvento.YOEvento.h
@interface YOEvento : NSObject
{
NSString *nombre; // stores the <name> tag
NSDate *diaDeInicio; // stores the tag <dia-de-inicio>
NSDate *diaDeFin; // stores the tag <dia-de-fin>
NSString *entradilla; // stores the tag <entradilla>
}
@property (nonatomic, retain) NSString *nombre;
@property (nonatomic, retain) NSDate *diaDeInicio;
@property (nonatomic, retain) NSDate *diaDeFin;
@property (nonatomic, retain) NSString *entradilla;
@end
YOEvento.m
#import "YOEvento.h"
@implementation YOEvento
@synthesize nombre, diaDeInicio, diaDeFin, entradilla;
etc...
Массив объявлен в делегате приложения, как показано здесь:
NSMutableArray *eventosParsed;
@property (nonatomic, retain) NSMutableArray *eventosParsed;
@synthesize eventosParsed;
После заполнения массива IЯ пытаюсь отсортировать его по diaDeInicio:
NSSortDescriptor *descriptorByDate = [[NSSortDescriptor alloc] initWithKey:@"diaDeInicio" ascending:YES];
NSArray *descriptorsArray = [NSArray arrayWithObject:descriptorByDate];
[self.eventosParsed sortedArrayUsingDescriptors:descriptorsArray];
[descriptorByDate release];
Но после попытки выполнить инструкцию [self.eventosParsed sortedArrayUsingDescriptors:descriptorsArray];
Я получаю сигнал SIGABRT и следующее сообщение в консоли:
'NSUnknownKeyException', reason: '[<NSCFString 0x4b564b0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key diaDeInicio.'
Я проверил содержимое массива перед инструкцией, и он, кажется, заполнен правильно сформированными объектами YOEvento, это копирование и вставка из информации отладчика в свойство eventosParsed первый элемент.Значения не отображаются, но каждая переменная экземпляра в объекте YOEvento имеет правильное значение.
eventosParsed __NSArrayM * 0x4e900e0
0 YOEvento * 0x4ea3660
NSObject NSObject {...}
nombre NSCFString * 0x4ea37e0
diaDeInicio __NSDate * 0x4ea7370
diaDeFin __NSDate * 0x4ea6630
entradilla NSCFString * 0x4ea3c50