2016-12-15 23 views
0

我想在我的自定義類CGFloat01聲明賦值運算符,這樣我可以使用它像這樣:斯威夫特3如何聲明對定製類賦值運算符

var a:CGFloat01 
var b:CGFloat 

a = b 

我嘗試以下,但它不能編譯:

func = (lhs:CGFloat01, rhs:CGFloat) -> CGFloat01 { 
    lhs.value = rhs 
    return lhs 
} 
+0

上帝,我恨隱含的行爲像這樣 – Alexander

回答

2

你不能

Swift Documentation

不能重載默認賦值運算符(=)。只有複合賦值運算符可以被重載。同樣,三元條件運算符(a?b:c)也不能重載。

+0

好...這就是了 – andrewz

+0

@andrewz大多數語言不信任你這個權力,因爲據我所知,C++是唯一一個沒有。 – Mgetz