Я получил подтвержденные мной сообщения о том, что одна из функций одного из моих приложений выходит за рамки 10.7.3. По результатам расследования выяснилось, что 10.7.3 ввел приватный метод -stringForKey:
для NSDictionary
.
[NSDictionary respondsToSelector:@selector(stringForKey:)]
возвращает НЕТ, как и следовало ожидать.
Но у меня есть метод категории на NSDictionary
для реализации метода -stringForKey:
, как показано ниже (поэтому его можно использовать и для значений NSNumber
и NSDate
). В 10.7.2 и более ранних версиях она работает нормально; в соответствии с 10.7.3 возвращается ноль. Получение объекта и описания напрямую работает нормально. Так что это должен быть конфликт категории.
- (NSString *)stringForKey:(id)key;
{
return [[self objectForKey:key] description];
}
Я полагаю, что это еще один аргумент в пользу префикса методов категории, несмотря на совет, который я получил от евангелиста Apple Application Frameworks .
Могут ли другие это подтвердить? Я не думаю, что это стороннее приложение конфликтует; Я думаю, что это изменение в 10.7.3.