Почему CGColor.copy() возвращает необязательное значение?
Так как функция CGColor.copy()
возвращает необязательное значение, можно предположить, что может быть причина для возврата nil. Однако я не могу думать ни о какой причине для этого, кроме как, если сам CGColor является дополнительным значением. Поскольку я использую это в своей программе, кто-нибудь знает причину для этого, чтобы возвратить ноль на значение, которое не является обязательным?
1 ответ
Я думаю, что вы объяснили это правильно. Помните, что на самом деле нет такого объекта, как CGColor; на самом деле нет таких методов, как copy
, Это ручная отладка глобальной функции C:
CGColorRef CGColorCreateCopy(CGColorRef color);
Ну, CGColorRef всегда может быть nil
, так color
может быть nil
так что результат может быть nil
, Так что результат должен быть необязательным. (Иногда это не может быть Факультативным, а иногда не Факультативным.)