Articles of swift3

Como posso concatenar várias strings opcionais no swift 3.0?

Eu estou tentando concatenar várias seqüências de caracteres em 3 rápida: var a:String? = “a” var b:String? = “b” var c:String? = “c” var d:String? = a! + b! + c! Ao compilar, recebo o seguinte erro: error: cannot convert value of type ‘String’ to specified type ‘String?’ var d:String? = a! + b! + […]

Os operadores “++” e “-” foram reprovados no Xcode 7.3

Estou vendo as annotations do Xcode 7.3 e percebo esse problema. Os operadores ++ e – foram descontinuados Alguém poderia explicar por que está obsoleto? E estou certo que na nova versão do Xcode agora você vai usar em vez de ++ este x += 1 ; Exemplo: for var index = 0; index < […]

Shuffle array swift 3

Como posso converter a function abaixo para swift 3 ? Atualmente, obter um Binary operator ‘..<' cannot be applied to operands of type 'Int' and 'Self.IndexDistance' erro 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. […]

Alamofire Swift 3.0 Argumento extra na chamada

Eu migrei meu projeto para o Swift 3 (e atualizei o Alamofire para a última versão do Swift 3 com o pod ‘Alamofire’, ‘~> 4.0’ no Podfile). Agora recebo um erro “Argumento extra em chamada” em todos os pedidos do Alamofire.request. Por exemplo: let patientIdUrl = baseUrl + nextPatientIdUrl Alamofire.request(.POST, patientIdUrl, parameters: nil, headers: nil, […]

Os parâmetros ‘var’ estão obsoletos e serão removidos no Swift 3

Tudo bem, então eu apenas atualizo o Xcode para 7.3 e agora recebo este aviso: Os parâmetros ‘var’ estão obsoletos e serão removidos no Swift 3 Como corrigir isso quando eu precisar usar o var nesta function: public func getQuestionList(var language: String) -> NSArray { if self.data.count > 0 { if (language.isEmpty) { language = […]

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.