1
因此,由於功能CGColor.copy()
返回一個可選值,人們可能會認爲它有可能返回nil的原因。不過,我想不出任何原因,除非CGColor本身是一個可選值。因爲我在我的程序中使用了這個功能,有沒有人知道這個返回nil的原因是不是可選的值?爲什麼CGColor.copy()返回一個可選值?
因此,由於功能CGColor.copy()
返回一個可選值,人們可能會認爲它有可能返回nil的原因。不過,我想不出任何原因,除非CGColor本身是一個可選值。因爲我在我的程序中使用了這個功能,有沒有人知道這個返回nil的原因是不是可選的值?爲什麼CGColor.copy()返回一個可選值?
我想你已經解釋正確。記住,真的沒有像CGColor這樣的對象;它實際上並沒有像copy
這樣的方法。這是一個全球性的C函數的手工調整了渲染:
CGColorRef CGColorCreateCopy(CGColorRef color);
好了,CGColorRef總是可以nil
,所以color
可以nil
,所以結果可以nil
。所以結果必須是可選的。 (它有時不是可選的,有時不是可選的。)