我只是在试验 Swift,所以我在操场上拼凑了这个:
// Playground - noun: a place where people can play
import Cocoa
func printCarInfo(car:Car?) -> Void {
if let _car = car {
println("This is a " + _car.make + " " + _car.model + " from \(_car.year). It's worth $" + _car.price + ".")
}
}
class Car {
init(make:String, model:String, year:UInt, color:NSColor, price:UInt) {
self.make = make
self.model = model
self.year = year
self.color = color
self.price = price
}
var make : String
var model : String
var year : UInt
var color : NSColor
var price : UInt
func isNewCar() -> Bool {
let _formatter = NSDateFormatter()
_formatter.dateFormat = "yyyy"
let _currentYear = _formatter.stringFromDate(NSDate())
return (_currentYear == String(self.year))
}
}
let chevy = Car(make: "Chevrolet", model: "Camaro ZL1", year: 2014, color: NSColor.redColor(), price: 55355)
printCarInfo(chevy)
非常直接的代码,没有什么复杂的。但是 Xcode 不执行它。右下角的小加载指示器一直在旋转,我的 macbook 变热,风扇旋转,但什么也没发生。如果我将函数中的println
命令修改为printCarInfo(car:Car?) -> Void
如下所示:
println("Ok")
然后就完全好了。但只要我把这条线放进去:
println("This is a " + _car.make + " " + _car.model + " from \(_car.year). It's worth $" + _car.price + ".")
Xcode 像我上面描述的那样冻结。我尝试保存操场并重新打开它,但每次都会发生同样的事情。
我不认为代码有什么问题。只是 Xcode beta 中的一个错误吗?任何人都可以尝试将其粘贴到操场上,看看会发生什么?这是一个 OS X 游乐场,我使用 Xcode beta 5。另外,我使用的是 10.10 DP5。