私は単純に 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 ベータ版の単なるバグですか? 誰でもこれをプレイグラウンドに貼り付けて、何が起こるかを確認できますか? これは OS X の遊び場で、私は Xcode ベータ 5 を使用しています。また、10.10 DP5 を使用しています。