2016-11-11 39 views
1

因此,由於功能CGColor.copy()返回一個可選值,人們可能會認爲它有可能返回nil的原因。不過,我想不出任何原因,除非CGColor本身是一個可選值。因爲我在我的程序中使用了這個功能,有沒有人知道這個返回nil的原因是不是可選的值?爲什麼CGColor.copy()返回一個可選值?

回答

1

我想你已經解釋正確。記住,真的沒有像CGColor這樣的對象;它實際上並沒有像copy這樣的方法。這是一個全球性的C函數的手工調整了渲染:

CGColorRef CGColorCreateCopy(CGColorRef color); 

好了,CGColorRef總是可以nil,所以color可以nil,所以結果可以nil。所以結果必須是可選的。 (它有時不是可選的,有時不是可選的。)

相關問題