2

私は単純に 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 を使用しています。

4

2 に答える 2

1
 println("This is a \(car.make) \(car.model) from \(car.year). Itsworth \(car.price)")
于 2014-08-07T10:38:03.103 に答える