Articles of swift3

Swift 3 salvando e recuperando objects personalizados de userDefaults

Eu tenho isso no 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 […]

Como fornecer uma descrição localizada com um tipo de erro no Swift?

Estou definindo um tipo de erro personalizado com a syntax do Swift 3 e desejo fornecer uma descrição amigável do erro retornado pela propriedade localizedDescription do object Error . Como eu posso fazer isso? public enum MyError: Error { case customError var localizedDescription: String { switch self { case .customError: return NSLocalizedString(“A user-friendly description of […]

Como faço para dispatch_sync, dispatch_async, dispatch_after, etc no Swift 3, Swift 4 e além?

Eu tenho um monte de código em projetos Swift 2.x (ou mesmo 1.x) que se parece com isso: // 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 } } […]

Como converter dados em uma cadeia hexadecimal em swift

Eu quero a representação hexadecimal de um valor de dados no Swift. Eventualmente, eu gostaria de usá-lo assim: let data = Data(base64Encoded: “aGVsbG8gd29ybGQ=”)! print(data.hexString)

CGRectMake, CGPointMake, CGSizeMake, CGRectZero, CGPointZero não está disponível no Swift

Depois de converter o código para o mais recente 3.0 rápido eu sou mostrado este erro. Também me diga solução para CGSize = CGSizeMake(0,0) static var frameAtStartOfPan: CGRect = CGRectZero static var startPointOfPan: CGPoint = CGPointZero Que também está indisponível.

ida e volta Tipos de números Swift de / para dados

Com o Swift 3 voltado para Data vez de [UInt8] , estou tentando descobrir qual é a maneira mais eficiente / idiomática de codificar / decodificar vários tipos de números (UInt8, Double, Float, Int64, etc) como objects Data. Há essa resposta para usar o [UInt8] , mas parece estar usando várias APIs de ponteiro que […]

Swift 3 interpolação de string incorreta com Optionals implicitamente desembrulhados

Por que os opcionais implicitamente não desembrulhados não são desdobrados ao usar a interpolação de string no Swift 3? Exemplo : executando o seguinte código no playground var str: String! str = “Hello” print(“The following should not be printed as an optional: \(str)”) produz esta saída: The following should not be printed as an optional: […]