Почему CGColor.copy() возвращает необязательное значение?

Так как функция CGColor.copy() возвращает необязательное значение, можно предположить, что может быть причина для возврата nil. Однако я не могу думать ни о какой причине для этого, кроме как, если сам CGColor является дополнительным значением. Поскольку я использую это в своей программе, кто-нибудь знает причину для этого, чтобы возвратить ноль на значение, которое не является обязательным?

1 ответ

Решение

Я думаю, что вы объяснили это правильно. Помните, что на самом деле нет такого объекта, как CGColor; на самом деле нет таких методов, как copy, Это ручная отладка глобальной функции C:

CGColorRef CGColorCreateCopy(CGColorRef color);

Ну, CGColorRef всегда может быть nil, так color может быть nilтак что результат может быть nil, Так что результат должен быть необязательным. (Иногда это не может быть Факультативным, а иногда не Факультативным.)

Другие вопросы по тегам