2015-08-12 2 views
-2
sortedWords = [NSMutableArray arrayWithArray:[[wordCounts allValues] sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"count" ascending:FALSE]]]]; 

NSLog(@"%@",sortedWords);//sortedWords is an NSMutableArray 

wordCounts является NSMutableDictionary и подсчетом является integer значенияне в состоянии напечатать NSMutableArray в Objective C ИОС

+0

Что вы имеете в виду " не умеет печатать "? Вы не используете «NSLog», как игнорируете его, или показанное значение неверно? – Larme

+0

Какой результат вы получаете? – ZeMoon

+0

В чем проблема?. Я просто запускаю ваш код. он работает. –

ответ

0

При использовании NSLog для печати объекта, как вы сделали, он автоматически печатает деталь он посчитает вам интересны об этом объекте (в вашем случае имя класса и адрес). Вы хотите содержимое элементов массива, и в этом случае вы должны пропустить массив и распечатать каждый из элементов. Например, если массив содержит NSStrings, вы должны сделать что-то вроде этого:

for (NSString *curElement in sortedWords) 
{ 
    NSLog(@"%@", curElement); 
} 

Если элементы пользовательские объекты или любой другой тип объекта, вы можете, конечно, форматировать NSLog соответственно.

Надеется, что это помогает ...

Edit:

После вашего комментария, для вашего конкретного случая, то цикл будет выглядеть примерно так:

for (WCWord *curElement in sortedWords) 
{ 
    // Assuming you want to print the 'count' property and it's int 
    NSLog(@"%d", curElement.count); 

    // You can, of course, use any other field (or several of them) 
} 
+0

. Я использовал циклы for для печати элементов массива, но в моей консоли все еще отображается« ». – rajat

+0

Опять же, поскольку при использовании NSLog это дает вы, как он думает, является самой ценной информацией об объекте. WCWord - это настраиваемый объект, так что либо вы напрямую получаете доступ к свойству, которое вы хотите распечатать (например, NSLog (@ "% d", curElement.count)), либо вы измените метод описания, чтобы вернуть что-то другое, кроме имени класса и адреса. –

+0

здесь отсортированные слова содержат элементы типа NSString, а WCWord - класс. Можете ли вы мне помочь? код для доступа к словам в массиве отсортированных слов? – rajat

Смежные вопросы