为什么CGColor.copy()返回一个可选值?

时间:2016-11-11 04:49:51

标签: swift optional cgcolor

因为函数CGColor.copy()返回一个可选值,人们会认为它可能有理由返回nil。但是,除了CGColor本身是一个可选值之外,我无法想到任何失败的原因。由于我在我的程序中使用它,有没有人知道这个值的原因是nil值不是可选的?

1 个答案:

答案 0 :(得分:1)

我认为你已经正确解释了它。记住,实际上没有CGColor这样的对象;它实际上没有像copy这样的方法。这是一个全局C函数的手动调整渲染:

CGColorRef CGColorCreateCopy(CGColorRef color);

好吧,CGColorRef始终可以是nil,因此color可以是nil,因此结果可以是nil。所以结果必须是一个可选的。 (它有时不是可选的,有时也不是可选的。)