2016-04-11 6 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 '()' 

Мой вопрос заключается в том, чтобы вернуть значение в пределах расширения? Thanks

+0

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

ответ

3

Как и любая другая функция, вам нужно указать тип возврата.

extension Int { 
    func squared() -> Int { 
     return self * self 
    } 
} 
let someInt = 3 
let square = someInt.squared() 
Смежные вопросы