Сравнение раскрашивает Objective C

Объект XMLHTTPRequest должен иметь

getAllResponseHeaders();
getResponseHeader("header-name")

определенный на нем

7
задан Justin Boo 18 May 2012 в 20:49
поделиться

3 ответа

@implementation UIColor (compare)

- (BOOL) isEqualToColor:(UIColor *) otherColor
{
return CGColorEqualToColor(self.CGColor, otherColor.CGColor);
}

@end

Имейте в виду, что два цвета, которые выглядят одинаково, могут возвращать или не возвращать ИСТИНА, поскольку компоненты сохраняются как плавающие, и они могут отличаться на значение, меньшее, чем может разрешить аппаратное обеспечение дисплея.

Также имейте в виду, что если они определены в разных цветовых пространствах, этот метод никогда не вернет ИСТИНА.

19
ответ дан 6 December 2019 в 05:55
поделиться

объекты должны сравниваться с использованием метода isEqual: , а не == , который просто сравнивает адрес указателя

11
ответ дан 6 December 2019 в 05:55
поделиться

Вы тестируете указатели объектов на эквивалентность, которая, вероятно, никогда не вернет истину. Если вы хотите работать с фактическими значениями цвета, вам необходимо получить базовую ссылку CGColor.

1
ответ дан 6 December 2019 в 05:55
поделиться