Я хочу инициализировать NSArray с заданными числами нулей. Мне нужно создать массив счетчиков, а в конце функции вернуть индекс счетчика с наивысшим значением.Создание NSArray повторных чисел
Итак, вопрос в том, как инициализировать NSArray нулей заданной длины? Есть ли хороший способ сделать это в 1-2 строках? Может быть, есть лучший способ подсчета объектов? Как бы вы это сделали?
Спасибо!
UPD: Вот код моей существующей функции. Он возвращает максимальное количество карт, имеющих одинаковый ранг.
+ (int)ranksMatched:(NSArray *)cards
{
NSMutableArray *ranksCounter = [[NSMutableArray alloc] initWithCapacity:[PlayingCard maxRank]];
for (int i = 0; i < [PlayingCard maxRank]; ++i) {
[ranksCounter addObject:[NSNumber numberWithInt:0]];
}
int maxIndex = 0;
int maxCount = 0;
for (PlayingCard *card in cards) {
int currentCount = [ranksCounter[card.rank] intValue] + 1;
if (maxCount < currentCount) {
maxCount = currentCount;
maxIndex = card.rank;
}
}
return maxCount;
}
Вы рассматривали использование 'NSCountedSet'? – rmaddy
Это так же просто, как 'NSMutableArray * array = [NSMutableArray array]; for (int i = 0; i
Chuck
@ Чак, да, конечно! Я обновил свой вопрос. – DaZzz