En mi proyecto de Xcode Tengo las siguientes clases:Ordenar NSArray con la costumbre objetos
Dirección
@interface LDAddress : NSObject{
NSString *street;
NSString *zip;
NSString *city;
float latitude;
float longitude;
}
@property (nonatomic, retain) NSString *street;
@property (nonatomic, retain) NSString *zip;
@property (nonatomic, retain) NSString *city;
@property (readwrite, assign, nonatomic) float latitude;
@property (readwrite, assign, nonatomic) float longitude;
@end
Ubicación
@interface LDLocation : NSObject{
int locationId;
NSString *name;
LDAddress *address;
}
@property (readwrite, assign, nonatomic) int locationId;
@property (nonatomic, retain) LDAddress *address;
@property (nonatomic, retain) NSString *name;
@end
En una subclase de UITableViewController, hay un NSArray que contiene una gran cantidad de objetos sin clasificar de LDLocations. Ahora, quiero ordenar los objetos de NSArray en orden ascendente según la propiedad ciudad de una LDAddress.
¿Cómo puedo ordenar la matriz usando NSSortDescriptor? Intenté lo siguiente, pero la aplicación se volcó al ordenar la matriz.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Address.city" ascending:YES];
[_locations sortedArrayUsingDescriptors:@[sortDescriptor]];
has necesitado apenas @ "ciudad" como la clave? –