2016-04-11 11 views
-1

私はSwift 2の新機能です。OCと比較して非常にクールな機能であることが分かったので、拡張機能を学習しています。アップルの開発者から拡張メソッドSwiftの戻り値

例:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html

extension Int { 
    mutating func square() { 
     self = self * self 
    } 
} 
var someInt = 3 
someInt.square() 
// someInt is now 9 

だから私は考えていたが、それは次のように値を返すように拡張子を持つことが可能です:

extension Int { 
    func square() { 
     return self * self 
    } 
} 
var someInt = 3 
someInt.square() 
//ERROR: error: no '*' candidates produce the expected contextual result type '()' 

私の質問は、値を返す方法です拡張の中で? ありがとう

+0

http://stackoverflow.com/a/26836477/2303865 –

答えて

3

他の関数と同様に、戻り値の型を指定する必要があります。

extension Int { 
    func squared() -> Int { 
     return self * self 
    } 
} 
let someInt = 3 
let square = someInt.squared() 
関連する問題