Articles of swift3

Qual è la parola chiave ‘aperta’ in Swift?

Il file ObjectiveC.swift della libreria standard contiene le seguenti righe di codice attorno alla riga 228: extension NSObject : Equatable, Hashable { /// … open var hashValue: Int { return hash } } Cosa significa open var in questo contesto, o qual è la parola chiave open in generale?

Gli operatori “++” e “-” sono stati deprecati Xcode 7.3

Sto guardando le note di Xcode 7.3 e noto questo problema. Gli operatori ++ e – sono stati deprecati Qualcuno potrebbe spiegare perché è deprecato? E ho ragione che nella nuova versione di Xcode ora si userà invece di ++ questo x += 1 ; Esempio: for var index = 0; index < 3; index […]

Shuffle array swift 3

Come posso convertire la funzione seguente in swift 3 ? Attualmente Binary operator ‘..<' cannot be applied to operands of type 'Int' and 'Self.IndexDistance' un Binary operator ‘..<' cannot be applied to operands of type 'Int' and 'Self.IndexDistance' . extension MutableCollection where Index == Int { /// Shuffle the elements of `self` in-place. mutating func […]

Alamofire Swift 3.0 Argomento aggiuntivo in chiamata

Ho migrato il mio progetto a Swift 3 (e aggiornato Alamofire all’ultima versione di Swift 3 con pod ‘Alamofire’, ‘~> 4.0’ nel Podfile). Ora ricevo un errore “Argomento aggiuntivo in chiamata” su ogni richiesta di Alamofire.request. Per esempio: let patientIdUrl = baseUrl + nextPatientIdUrl Alamofire.request(.POST, patientIdUrl, parameters: nil, headers: nil, encoding: .JSON) Qualcuno può dirmi […]

Swift 3 salva e recupera oggetti personalizzati da userDefaults

Ho questo in Playground usando Swift 3, Xcode 8.0: import Foundation class Person: NSObject, NSCoding { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } required convenience init(coder aDecoder: NSCoder) { let name = aDecoder.decodeObject(forKey: “name”) as! String let age = aDecoder.decodeObject(forKey: “age”) as! Int self.init( […]

Come fornire una descrizione localizzata con un tipo di errore in Swift?

Sto definendo un tipo di errore personalizzato con la syntax Swift 3 e voglio fornire una descrizione user-friendly dell’errore che viene restituita dalla proprietà localizedDescription dell’object Error . Come posso farlo? public enum MyError: Error { case customError var localizedDescription: String { switch self { case .customError: return NSLocalizedString(“A user-friendly description of the error.”, comment: […]

Come faccio a dispatch_sync, dispatch_async, dispatch_after, ecc in Swift 3, Swift 4 e oltre?

Ho un sacco di codice nei progetti Swift 2.x (o anche 1.x) che assomiglia a questo: // Move to a background thread to do some long running work dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { let image = self.loadOrGenerateAnImage() // Bounce back to the main thread to update the UI dispatch_async(dispatch_get_main_queue()) { self.imageView.image = image } } O cose […]

Come convertire i dati in stringa esadecimale in swift

Voglio la rappresentazione esadecimale di un valore Data in Swift. Alla fine vorrei usarlo in questo modo: let data = Data(base64Encoded: “aGVsbG8gd29ybGQ=”)! print(data.hexString)

CGRectMake, CGPointMake, CGSizeMake, CGRectZero, CGPointZero non sono disponibili in Swift

Dopo aver convertito il codice all’ultima versione 3.0 mi viene mostrato questo errore. Dimmi anche la soluzione per CGSize = CGSizeMake(0,0) static var frameAtStartOfPan: CGRect = CGRectZero static var startPointOfPan: CGPoint = CGPointZero Che non è disponibile

round trip Tipi di numeri rapidi da / verso Dati

Con Swift 3 inclinato verso Data invece di [UInt8] , sto cercando di scoprire quale sia il modo più efficiente / idiomatico per codificare / decodificare i vari tipi di numeri (UInt8, Double, Float, Int64, ecc.) Come oggetti Data. C’è questa risposta per usare [UInt8] , ma sembra che stia usando varie API puntatore che […]