• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das Monatsmotto Juli lautet -- Kitsch as Kitsch can -- Jeder von Euch kann dafür ganz individuell bestimmen, was für ihn Kitsch ist und ein Foto davon einsenden. Macht mit, traut Euch! --> Klick

xCode 7 mit Swift 2.0 Konvertierungsfehler

Styler_05

Golden Delicious
Registriert
11.09.15
Beiträge
10
<div class="bbWrapper">Hallo,<br /> <br /> wieder mal stehe ich vor einem APPLE Problem.<br /> 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. <br /> 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. <br /> Was passiert, er zeigt mir weiterhin fehlen im Quellcode an -.-<br /> Zum Beispiel diese Zeile, hat in xCode 6.4 Swift (1.0) hervorragend funktioniert:<br /> var mutableData: NSMutableData = NSMutableData.alloc()<br /> bei xCode 7 mit Swift 2 kommt die Fehlermeldung:<br /> 'alloc()' is unavaible in Swift: use Object initializers instead<br /> HMMMMMmmm warum ist alloc nun in Swift unavaible --.--<br /> <br /> Kann mir vielleicht jemand diesbezüglich helfen. Wo ich mein alten Code weiterhin verwenden kann ?<br /> <br /> Liebe Grüße</div>
 

NorbertM

Laxtons Superb
Registriert
03.01.15
Beiträge
9.458
<div class="bbWrapper">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?</div>
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
<div class="bbWrapper"><blockquote data-attributes="member: 206516" data-quote="Styler_05" data-source="post: 4706683" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=4706683" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-4706683">Styler_05 schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> var mutableData: NSMutableData = NSMutableData.alloc() </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Es war in Swift noch nie vorgesehen, dass man alloc() aufruft. Wie initialisierst du denn <i>mutableData</i>? Weil so wird der Initializer nicht aufgerufen. Objekte erzeugt man in Swift schon von Anfang an per „Object Initializer“:<br /> <br /> <span style="font-family: 'Courier New'">var mutableData: NSMutableData = NSMutableData()</span><br /> <br /> <blockquote data-attributes="member: 206516" data-quote="Styler_05" data-source="post: 4706683" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=4706683" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-4706683">Styler_05 schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> HMMMMMmmm warum ist alloc nun in Swift unavaible </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Weil der direkte Aufruf von alloc() in Swift zu nicht initialisierten Objekten führt und nicht der korrekte Weg ist, Instanzen zu erstellen.</div>
 

Styler_05

Golden Delicious
Registriert
11.09.15
Beiträge
10
<div class="bbWrapper">Hallo <a href="http://www.apfeltalk.de/community/members/macapple.218/" target="_blank" class="link link--external" rel="nofollow ugc noopener"><u>MacApple</u>,</a><br /> <br /> also in meinem xCode 6.4 funktioniert die App mit alloc() hervorragend!<br /> Aber ich werde/muss mein Code anpassen...<br /> <br /> Hallo <a href="http://www.apfeltalk.de/community/members/norbertm.197401/" target="_blank" class="link link--external" rel="nofollow ugc noopener"><u>NorbertM</u>,</a><br /> <br /> 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 :/<br /> <br /> Liebe Grüße</div>
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
<div class="bbWrapper"><blockquote data-attributes="member: 206516" data-quote="Styler_05" data-source="post: 4706891" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=4706891" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-4706891">Styler_05 schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> also in meinem xCode 6.4 funktioniert die App mit alloc() hervorragend! </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>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.<br /> <blockquote data-attributes="member: 206516" data-quote="Styler_05" data-source="post: 4706891" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=4706891" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-4706891">Styler_05 schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Was ich einfach nicht verstehe ist, warum in xCode6.4 hier nicht gemeckert wird, aber in xCode 7 beta schon :/ </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Xcode 6.4 beinhaltet Swift 1.2, Xcode 7 beinhaltet Swift 2. Swift ändert sich halt noch ziemlich stark von Version zu Version.</div>