Als «swift4» getaggte Fragen

Verwenden Sie dieses Tag nur für Fragen, die in direktem Zusammenhang mit Änderungen in Version 4 der Apple-Programmiersprache Swift stehen. Verwenden Sie das Tag [swift] für allgemeinere Sprachfragen oder die Tags [ios], [cocoa], [apple-watch] usw. für Fragen zur Entwicklung auf Apple-Plattformen.

12
Die Verwendung von Swift 3 @objc Inferenz im Swift 4-Modus ist veraltet?
Kurz gesagt, während ich Xcode 9 Beta verwende, ist folgende Warnung aufgetreten: Die Verwendung von Swift 3 @objc-Inferenz im Swift 4-Modus ist veraltet. Bitte adressieren Sie veraltete @ OBJC-Inferenzwarnungen, testen Sie Ihren Code mit aktivierter Protokollierung "Verwendung veralteter Swift 3 @ OBJC-Inferenz" und deaktivieren Sie Swift 3 @ OBJC-Inferenz. ** …

13
Wie schreibe ich dispatch_after GCD in Swift 3, 4 und 5?
In Swift 2 konnte ich dispatch_aftereine Aktion mit Grand Central Dispatch verzögern: var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC))) dispatch_after(dispatchTime, dispatch_get_main_queue(), { // your function here }) Dies scheint jedoch seit Swift 3 nicht mehr zu kompilieren. Was ist die bevorzugte Methode, um dies im modernen Swift zu schreiben?

18
Wie kann ich String Swift-Indizes in Swift 4 verwenden?
Ich habe den folgenden einfachen Code in Swift 3 geschrieben: let str = "Hello, playground" let index = str.index(of: ",")! let newStr = str.substring(to: index) Von Xcode 9 Beta 5 erhalte ich die folgende Warnung: ' substring(to:)' ist veraltet: Bitte verwenden Sie einen StringSlicing-Index mit einem Operator 'Teilbereich von'. Wie …
294 swift  swift4 


5
Wie kann ich mit #selector () in Swift 4 mit @objc Inferenzverfall umgehen?
Ich versuche, den Quellcode meines Projekts von Swift 3 in Swift 4 zu konvertieren. Eine Warnung, die Xcode mir gibt, betrifft meine Selektoren. Zum Beispiel füge ich einer Schaltfläche ein Ziel hinzu, indem ich einen regulären Selektor wie folgt verwende: button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside) Dies ist die Warnung, die …
131 swift  xcode  swift4 


7
Können fehlende Schlüssel mit JSONDecoder in Swift 4 einen Standardwert verwenden, anstatt optionale Eigenschaften zu sein?
Swift 4 hat das neue CodableProtokoll hinzugefügt . Wenn ich es verwende JSONDecoder, müssen anscheinend alle nicht optionalen Eigenschaften meiner CodableKlasse Schlüssel im JSON haben, oder es wird ein Fehler ausgegeben. Jede Eigenschaft meiner Klasse optional zu machen, scheint ein unnötiger Aufwand zu sein, da ich wirklich den Wert im …
113 json  swift  swift4  codable 


12
Dekodieren einer Eigenschaft mit dem Typ eines JSON-Wörterbuchs im decodierbaren Swift 4-Protokoll
Angenommen, ich habe einen CustomerDatentyp, der eine metadataEigenschaft enthält, die ein beliebiges JSON-Wörterbuch im Kundenobjekt enthalten kann struct Customer { let id: String let email: String let metadata: [String: Any] } { "object": "customer", "id": "4yq6txdpfadhbaqnwp3", "email": "john.doe@example.com", "metadata": { "link_id": "linked-id", "buy_count": 4 } } Die metadataEigenschaft kann ein …
103 json  swift  swift4  codable 

4
Wie verwende ich benutzerdefinierte Schlüssel mit dem Decodable-Protokoll von Swift 4?
Swift 4 führte die Unterstützung für die native JSON-Codierung und -Decodierung über das DecodableProtokoll ein. Wie verwende ich dafür benutzerdefinierte Schlüssel? Angenommen, ich habe eine Struktur struct Address:Codable { var street:String var zip:String var city:String var state:String } Ich kann dies in JSON codieren. let address = Address(street: "Apple Bay …
102 json  swift  swift4  codable 

12
Navigationsleiste rechtsbaritem Bild-Button-Fehler iOS 11
Dieser Code funktioniert in ios10 einwandfrei. Ich bekomme mein Etikett und eine Bildschaltfläche, die das Benutzerfoto-Profil ist, kreisförmig rund .. ok. aber wenn ich xcode 9 ios11 simulator laufen lasse, bekomme ich es gestreckt. Der Schaltflächenrahmen muss 32x32 sein, wenn ich die Sim überprüfe und die Ansicht erhalte und xcode …
101 ios  swift  ios11  xcode9-beta  swift4 



7
UIApplication.registerForRemoteNotifications () darf nur vom Hauptthread aufgerufen werden
Xcode 9 (iOS 11) zeigt mir einen Fehler / eine Warnung bei der Registrierung für die Push-Benachrichtigung (Remote) an. Hier ist eine Fehlermeldung Und hier ist Code, ich habe versucht: let center = UNUserNotificationCenter.current() center.delegate = self center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in if error == nil{ UIApplication.shared.registerForRemoteNotifications() …

14
Xcode 9: Mit Swift 3.1 kompiliertes Modul kann nicht in Swift 4.0 importiert werden
Nach dem Update auf Xcode 9 habe ich versucht, eines meiner Projekte zu erstellen. Ich benutze den FacebookLogin Pod. Ich habe einen Compilerfehler in FacebookLogin / LoginButton.swift @testable import FacebookCore ❌ Module compiled with Swift 3.1 cannot be imported in Swift 4.0 In den Build-Einstellungen meines Ziels ist die Swift-Sprachversion …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.