swift 1.1 和 1.2版的差異 和修護的方法

swift 1.1 和 1.2版的差異 和修護的方法

因為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