Производительность с условными операторами в Objective-C и NSMutableDictionary - PullRequest
0 голосов
/ 17 февраля 2012

В основном мой словарь выглядит так:

object:[NSNumber numberWithBool:] key: [NSNumber numberWithInteger:ID]

Я хочу добавить объекты в NSMutableDictionary, если они еще не существуют.Я также хочу перезаписать любые значения NO с помощью YES, если есть два идентичных идентификатора и одно значение - YES.

например,

ID:5, YES
ID:5, NO
ID:5, YES

Я хочу, чтобы результат был ID:5 YES в моем словаре.Я делаю это:

if ([dict objectForKey:[NSNumber numberWithInteger:conditionsListID]] != nil) {
   [dict setObject:[NSNumber numberWithBool:theValue forKey:[NSNumber numberWithInteger:conditionsListID];
else {
  if (theValue) {
       [dict setObject:[NSNumber numberWithBool:theValue forKey:[NSNumber numberWithInteger:conditionsListID];

  }
}
}

Мне было интересно, имеет ли значение, проверяю ли я, есть ли уже существующее значение НЕТ, или я просто перезаписываю его, если мое новое значение имеет ДА ​​или нет, так как в концеДА это то, что я хочу.Есть ли разница между этими двумя?Благодарю.

1 Ответ

1 голос
/ 17 февраля 2012

Просто вызовите setObject: forKey: и словарь позаботится о желаемой логике.Согласно документации API:

"Если aKey уже существует в словаре, предыдущему объекту значения словаря для этого ключа отправляется сообщение об освобождении, и его место занимает anObject."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...