Я бы создал новый класс, который содержит оба значения, и вставил бы его в массив вместо создания двух отдельных массивов:
@interface TextList : NSManagedObject
@property (nonatomic, retain) NSString *full_text;
@property (nonatomic, retain) NSString *short_text;
- (TextList *)initWithFullText:(NSString *)full_text shortText:(NSString *)short_text;
@end
Создайте свой файл .m, а затем, когда выхотите использовать его, используйте что-то вроде:
NSMutableArray *full_text_list = [[NSMutableArray alloc]init];
[full_text_list addObject:[TextList initWithFullText:@"for" shortText:@"4"]];
[full_text_list addObject:[TextList initWithFullText:@"for your information" shortText:@"fyi"]];
[full_text_list addObject:[TextList initWithFullText:@"you" shortText:@"u"]];
[full_text_list addObject:[TextList initWithFullText:@"at" shortText:@"@"]];
Затем выполните сортировку:
NSSortDescriptor * descriptors = [[[NSSortDescriptor alloc] initWithKey:@"full_text.length" ascending:NO] autorelease];
NSArray * sortedArray = [full_text_list sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptors]];
Теперь вы можете сделать [[sortedArray objectAtIndex:0] full_text];
и [[sortedArray objectAtIndex:0] short_text];
или
TextList *txtList = [sortedArray objectAtIndex:0];
// txtList.full_text and txtList.short_text are both valid.