Suchergebnisse

Suchergebnisse 1-20 von insgesamt 37.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zitat von gritsch: „und warum ist "bar" plötzlich nicht mehr nil wenn "foo" nil ist?“ Gute Frage; Aber auch hier hilft der Debugger: bar Swift.ImplicitlyUnwrappedOptional<Swift.String> nil None (Übrigens von println ausgegeben als nil.) und: foo Foundation.NSString 0x0000000000000000 0x0000000000000000 Hier zeigen sich offenbar die Feinheiten der API-Bindings. Zitat von gritsch: „edit: was zum teufel ist mit der quote-funktion hier los?“ Was tut die denn bei Dir? (Ich hatte hier meinen ganzen Se…

  • Zitat von Michael: „Zitat von RegExpressive: „Zitat von Michael: „Das liegt daran, dass let htmlResult = NSString(data: data, encoding: NSUTF8StringEncoding) auch nil zurückgeben kann, was hier offensichtlich passiert. In Swift bedeutet das, dass du einen Optional-Wert zurückbekommst. Du musst also deine Variable als Optional deklarieren: let htmlResult: NSString? = NSString(data: data, encoding: NSUTF8StringEncoding) Hach ja, diese Type Inference von Swift macht das alles ja sooooo schön lesbar…

  • Zitat von Michael: „Das liegt daran, dass let htmlResult = NSString(data: data, encoding: NSUTF8StringEncoding) auch nil zurückgeben kann, was hier offensichtlich passiert. In Swift bedeutet das, dass du einen Optional-Wert zurückbekommst. Du musst also deine Variable als Optional deklarieren: let htmlResult: NSString? = NSString(data: data, encoding: NSUTF8StringEncoding) Hach ja, diese Type Inference von Swift macht das alles ja sooooo schön lesbar.“ Tut sie auch. Die explizite Deklaration ist…

  • Weil der Optimizer immer das letzte ist, was man einschleift, wenn man eine neue Sprache einführt. Erst mal geht's darum, daß der Compiler korrekt funktioniert – alles weitere hat niedrigere Priorität. Wobei offenbar viele "Benchmarks" sogar ohne Optimierung durchgeführt wurden, und dann kann man jeden Vergleich eh vergessen.

  • Zitat von macmoonshine: „Was für ein Unsinn! Soll das Computer-Esoterik sein? Der Prozessor kopiert beide Werte in Zwischenvariablen und weist sie danach vertauscht zu. Wenn da der Optimizer nicht noch eingreift, ist die Tupellösung somit ungünstiger als die Verwendung einer Hilfsvariablen, wie es der OP vorgeschlagen hat. Aber das ist POITROAE.“ Es ging mir in genau dieser Erklärung um Verständlichkeit des Prinzips, nicht um kompilierbaren Code einer bestimmten Sprache. Wenn der Compiler was ta…

  • Zitat von Marco Feltmann: „Mir ist nicht bekannt, dass Swift es wirklich ermöglicht, mal eben dynamisch Tupel zu erstellen, indem man die beiden Werte in Klammern setzt. Noch weniger ist mir bekannt, dass es möglich ist, ein Tupel zu erstellen und ihm die Werte eines anderen Tupels zuzuweisen.“ Tatsächlich wird da gar nichts dynamisch erstellt, denn die Tupel im Beispiel sind keine Datenstruktur, sondern nur eine Schreibweise. Die Zuweisung Quellcode (1 Zeile) Ist tatsächlich identisch zu Quellc…

  • Zitat von gritsch: „selber schuld wer jetzt schon mit swift "arbeitet" ;-)“ Natürlich – das sollte einem sowieso bei Betas immer klar sein. Wobei das hier aber völlig trivial ist. Das ist ein Suchen und Ersetzen über die ganze Source und das war's. Solche minimalen Syntax-Änderungen sind fast egal. Viel schwerwiegender sind kniffeligere Änderung an bestimmten semantischen Konstrukten.

  • Jetzt ham wir die Haarspitzen aber schon gut durchgespalten und aufgefächert...!

  • Ein Zertifikat zum Aufspielen auf reale iOS-Hardware braucht man damit natürlich genauso wie bei regulären nicht-Beta-Versionen. Ich kann aber auch in der Beta iOS-Projekte anlegen. Der Unterschied ist nur, daß vorher nur die Entwickler, die auch ein Zertifikat hatten, die Beta überhaupt herunterladen konnten. Jetzt kann das jeder registrierte Entwickler. Bis zum Simulator geht die Beta auch, aber zum Hochladen auf ein Gerät mußt Du Deine App dann nach wie vor regulär signieren können.

  • Und gleich gibt es schon eine Änderung der Syntax: Daß es eine bescheuerte Idee war, neben dem sinnvollen ...-Operator auch noch einen ..-Operator zu haben (bei dem der End-Wert nicht in der Sequenz generiert wird), haben sie offenbar auch eingesehen (das war bei so ziemlich jedem dieselbe Reaktion). Statt .. ist der jetzt ..< und damit nicht mehr verwechselbar. Nicht so hübsch, aber letztlich besser. Eines der Beispiele dafür, daß Swift noch im Fluß ist.

  • Die Schleusen sind jetzt ganz offiziell für alle registrierten Entwickler geöffnet: Apple verbreitert Beta-Programm für Xcode 6: jetzt für ALLE Entwickler

  • Apple verbreitert offenbar ab sofort das Beta-Programm, um allen registrierten Entwicklern die Gelegenheit zu geben, sich Swift näher anzusehen: developer.apple.com/swift/resources/ Zum Download der Beta muß man seinen Entwickler-Account angeben, aber jetzt gehen eben offenbar alle Accounts, nicht nur wie bisher die zahlenden mit Signierungs-Zertifikat. Da ich bisher keine aktive Entwicklung für die App Stores bzw. für meine iOS-Geräte betrieben hatte, brauchte ich den höheren Status bislang noc…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von SteveJ: „Wenn du so viele Methodenaufrufe von Methoden die fast nichts tun hast, hast du auch ein Problem mit den virtuellen Methoden von C++.“ Erstens sind selbst die immer noch schneller als das Dispatching der Objective-C-Runtime und zweitens sind virtuelle Methoden mit Jumptables auch schon die teuerste von drei Implementierungs-Varianten in C++. Abhängig von der Deklaration in der Klasse (und ggf. Vererbung) gibt es in C++ drei Kategorien: • virtuell (indirekter Call über Jumptabl…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von zerm: „Naja, aber mein Code (auch mehr oder weniger in die Richtung "numbercrunching") sollte schon Cross-Plattform sein, damit es z.B. auch auf einem Cluster läuft bzw. für viele Anwendungen MacOS einfach keine Option ist. Von daher ist Swift für mich genauso uninteressant wie Objective-C oder Visual Basic “ Mein diesbezüglicher Code war auch unter Linux eingesetzt worden, und dafür ist Swift natürlich wirklich noch(?) keine Option (obwohl man mal schauen kann, ob es über LLVM viellei…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von Amin Negm-Awad: „Ich dachte der Sinn von AnyObject ist es, dass er sich auf mich verlässt. Wieder etwas gelernt. Ich habe auch kein einziges Objective-C-Element verwendet. “ Ich hatte in der Tat angenommen, daßAnyObject letztlich nur eine abstrakte Basisklasse aller Objekte ohne Komponenten oder Methoden wäre (das wäre eine Möglichkeit gewesen), aber tatsächlich hat Apple das eher in Deinem Sinn definiert, wie ich gerade nochmal nachgelesen habe: AnyObject ist offenbar ein Protokoll un…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von gandhi: „Ja, aber spielt das in der Praxis tatsächlich eine Rolle? Ich mach' jetzt seit mehr wie 10 Jahren Objective-C, davor C++ und/oder Java. Und außer in den Anfangsjahren von Java hatte ich in keiner Sprache großartige Performance-Probleme, die auf solchen Sachen wie virtuelle Methode oder nicht zurückzuführen waren. Wenn's ein Performance-Problem gab, dann war's der Algorithmus und dann hätt's ein direkter Methodenaufruf auch nicht rausgerissen. Schönes Beispiel war z.B. die Stri…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von Amin Negm-Awad: „Ich verstehe noch nicht, wie das funktionieren soll: Wenn ich ein Array von Strings habe und dann contains( Int ) mache, wird der Generic auf Int instantiert. Hier kann er noch feststellen, dass it == that verschiedenen Typs sind. (Letztlich egal, es kommt nur darauf an, dass es für dieses Typpaar überladen ist.)“ Grundsätzlich wäre das der Mechanismus bei flexiblerer Definition (theclass und otherclass), während bei meiner Beispiel-Extension sofort ein Fehler käme, we…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von Amin Negm-Awad: „-containsObject: prüft nicht auf Identität, sondern auf Gleichheit.“ Auch kein Problem: Wenn man nicht exakt dieses, sondern nur ein vergleichbares Objekt finden will, benutzt man einfach nur den == Operator anstatt ===. Ansonsten (fast) alles wie gehabt. Zitat von Amin Negm-Awad: „Wenn ich das richtig sehe, wirfst du die gerühmte Typsicherheit von Swift weg.“ Nein; theclass muß zwischen dem Array und dem gesuchten Objekt exakt zusammenpassen, sonst ist die Methode nic…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von Amin Negm-Awad: „Ich komme auf die Idee, weil du eine Funktion (nicht Methode, um das begrifflich klar zu machen) nennst.“ Das ist eine von mehreren Möglichkeiten. Die, die Du offenbar meinst, geht übrigens doch auch in Swift (hatte ich übersehen gehabt) und sieht dann wohl so aus (das müßte mal jemand mit der Beta ausprobieren – TheFuriousLion?): Quellcode (10 Zeilen) Diese Extension muß meines Wissens nur inkludiert sein und fügt dann allen Arrays, die tatsächlich Objekte enthalten (…

  • Unklarheiten zu Swift

    RegExpressive - - Swift

    Beitrag

    Zitat von Amin Negm-Awad: „Du hast eigentlich meine einzige Frage gar nicht beantwortet.“ Ist das immer noch unklar? Letztlich geht es hier ja nach der Frage von TheFuriousLion nur darum, wie man es hinschreibt, und dabei in erster Linie um Bequemlichkeit. Die Funktionalität ist ja klar und ist im Spezialfall mit Objekt-Pointern auch identisch zu containsObject in NSArray. Swift-Arrays sind im Gegensatz zu NSArrays aber nicht darauf beschränkt, ausschließlich Pointer zu enthalten, sondern die kö…