因為swift 1.1 和 1.2版因為版本的升級,導致舊版的會有問題,在這裡列出有問題的地方、差異和修護的方法
1.2版有問題的地方:
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene
答案:
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as! GameScene
1.2版有問題的地方:
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
答案:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
1.2版有問題的地方:
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
答案:
override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) {
1.2版有問題的地方:
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
答案:
override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
1.2版有問題的地方:
var touch: UITouch = touches.allObjects[0] as UITouch
var location: CGPoint = touch.locationInNode(self)
答案:
if let touch = touches.first as? UITouch {
let location=touch.locationInNode(self)
// . ….
}
1.2版有問題的地方:
if let path = NSBundle.mainBundle().pathForResource(file, ofType: “sks”) {
答案:
if let path = NSBundle.mainBundle().pathForResource(file, ofType: “sks”) {
1.2版有問題的地方:
..
答案:
..
1.2版有問題的地方:
if let path = NSBundle.mainBundle().pathForResource(file, ofType: “sks”) {
}
答案:
if let path = NSBundle.mainBundle().pathForResource(file as String, ofType: “sks”) {
}
1.2版有問題的地方:
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
}
答案:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
}
1.2版有問題的地方:
var value7:Byte=20
答案:
var value7:UInt8=20