为什么< '(Int) - > Int'不能转换为'Int'>错误是由xcode返回但不是在操场上?

时间:2014-12-12 11:57:09

标签: xcode swift

这个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中的相同代码不会返回任何错误。

为什么?

2 个答案:

答案 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)) } }

相关问题