这个Swift function
:
func myfakefunc(myfakeParameter: Int) ->Int {
return myfakeParameter
}
var itWorks: Int = myfakefunc(1)
println(itWorks)
不会构建在 xCode 项目中,因为'(Int) ->Int' is not convertible to 'Int'
(第5行的错误),
在playground中的相同代码不会返回任何错误。
为什么?
答案 0 :(得分:2)
您收到此错误是因为您要全局声明itWorks
并为其分配值,以便您可以这样做:
import UIKit
class ViewController: UIViewController {
var itWorks : Int = Int()
override func viewDidLoad() {
super.viewDidLoad()
itWorks = myfakefunc(1)
println(itWorks)
}
func myfakefunc(myfakeParameter: Int) ->Int {
return myfakeParameter
}
}
答案 1 :(得分:0)
我也没有将我的函数声明为静态而得到此错误。编译器不是很有帮助
extension Int
{
static func randomIntWithMax(max :UInt32) -> Int {
return Int(arc4random_uniform(max))
}
}