xCode 7 mit Swift 2.0 Konvertierungsfehler

Styler_05

Golden Delicious
Registriert
11.09.15
Beiträge
10
Hallo,

wieder mal stehe ich vor einem APPLE Problem.
Ich habe nun xCode 7 beta geladen ich kann auch darauf sauber programmieren. Doch nun wollte ich meine Projekte von xCode 6.4 auf xCode7 weiter bearbeiten.
Nun bolzt ein Fenster auf, dass ich das ganze Konvertieren lassen soll, weil es mit einer älteren Swift Version erstellt wurde. Ich klicke auf Convert.
Was passiert, er zeigt mir weiterhin fehlen im Quellcode an -.-
Zum Beispiel diese Zeile, hat in xCode 6.4 Swift (1.0) hervorragend funktioniert:
var mutableData: NSMutableData = NSMutableData.alloc()
bei xCode 7 mit Swift 2 kommt die Fehlermeldung:
'alloc()' is unavaible in Swift: use Object initializers instead
HMMMMMmmm warum ist alloc nun in Swift unavaible --.--

Kann mir vielleicht jemand diesbezüglich helfen. Wo ich mein alten Code weiterhin verwenden kann ?

Liebe Grüße
 

NorbertM

Hochzeitsapfel
Registriert
03.01.15
Beiträge
9.363
Ohne jetzt Swift zu kennen, aber bei jeder Programmiersprache gibt es in neuen Versionen mal Änderungen. Warum änderst du nicht einfach deinen Code und bringst ihn auf den neuesten Stand?
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
var mutableData: NSMutableData = NSMutableData.alloc()
Es war in Swift noch nie vorgesehen, dass man alloc() aufruft. Wie initialisierst du denn mutableData? Weil so wird der Initializer nicht aufgerufen. Objekte erzeugt man in Swift schon von Anfang an per „Object Initializer“:

var mutableData: NSMutableData = NSMutableData()

HMMMMMmmm warum ist alloc nun in Swift unavaible
Weil der direkte Aufruf von alloc() in Swift zu nicht initialisierten Objekten führt und nicht der korrekte Weg ist, Instanzen zu erstellen.
 

Styler_05

Golden Delicious
Registriert
11.09.15
Beiträge
10
Hallo MacApple,

also in meinem xCode 6.4 funktioniert die App mit alloc() hervorragend!
Aber ich werde/muss mein Code anpassen...

Hallo NorbertM,

ich bin ja nun gezwungen mein Code auf den neusten Stand anzupassen, weil es ja sonst nicht funktioniert. Was ich einfach nicht verstehe ist, warum in xCode6.4 hier nicht gemeckert wird, aber in xCode 7 beta schon :/

Liebe Grüße
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
also in meinem xCode 6.4 funktioniert die App mit alloc() hervorragend!
Da kann nicht nur sagen, Schwein gehabt. Mich würde aber echt interessieren, wie du die Objekte initialisierst. Mit meinem Xcode 6.4 geht das nämlich nicht.
Was ich einfach nicht verstehe ist, warum in xCode6.4 hier nicht gemeckert wird, aber in xCode 7 beta schon :/
Xcode 6.4 beinhaltet Swift 1.2, Xcode 7 beinhaltet Swift 2. Swift ändert sich halt noch ziemlich stark von Version zu Version.