因为函数CGColor.copy()
返回一个可选值,人们会认为它可能有理由返回nil。但是,除了CGColor本身是一个可选值之外,我无法想到任何失败的原因。由于我在我的程序中使用它,有没有人知道这个值的原因是nil值不是可选的?
答案 0 :(得分:1)
我认为你已经正确解释了它。记住,实际上没有CGColor这样的对象;它实际上没有像copy
这样的方法。这是一个全局C函数的手动调整渲染:
CGColorRef CGColorCreateCopy(CGColorRef color);
好吧,CGColorRef始终可以是nil
,因此color
可以是nil
,因此结果可以是nil
。所以结果必须是一个可选的。 (它有时不是可选的,有时也不是可选的。)