Articles of rápidos

Como faço para armazenar um valor do tipo Classe em um dictionary do tipo no Swift?

Eu quero armazenar um tipo mais especializado em um dictionary do tipo [String: SomeClass]. Aqui está um exemplo de código ilustrando o meu problema (também disponível para jogar em https://swiftlang.ng.bluemix.net/#/repl/579756cf9966ba6275fc794a ): class Thing {} protocol Flavor {} class Vanilla: Flavor {} var dict = [String:Thing]() dict[“foo”] = Thing() Ele produz o erro ERROR at line […]

Prática recomendada para implementar um inicializador fiável no Swift

Com o código a seguir, tento definir uma class de modelo simples e inicializável, que usa um dictionary (json-) como parâmetro. O inicializador deve retornar nil se o nome do usuário não estiver definido no json original. 1. Por que o código não compila? A mensagem de erro diz: Todas as propriedades armazenadas de uma […]

Como posso criar instâncias de subclasss de objects gerenciados em uma extensão Swift NSManagedObject?

Ao criar um auxiliar de extensão para NSManagedObject para criar uma nova subclass de object gerenciado, o swift fornece o tipo Self para imitar instancetype que é ótimo, mas não consigo fazer a typecast de AnyObject . O código abaixo não compila com o erro ‘AnyObject’ não é convertível para ‘Self’ Socorro? extension NSManagedObject { […]

Engano rápido de coerção genérica

Eu estou usando a biblioteca de sinais . Vamos dizer que eu defini o protocolo BaseProtocol e BaseProtocol que está de acordo com o BaseProtocol . protocol BaseProtocol {} class ChildClass: BaseProtocol {} Agora quero armazenar sinais como: var signals: Array<Signal> = [] let signalOfChild = Signal() signals.append(signalOfChild) Eu recebo erro: Mas eu posso escrever […]

Swift 2 – UnsafeMutablePointer para object

Se eu tiver um método como: func someMethod(contextPtr: UnsafeMutablePointer) Como obtenho o object do contextPtr ? func someMethod(contextPtr: UnsafeMutablePointer){ let object:MyObject = contextPtr.memory } dá: ‘Void’ não é conversível para ‘MyObject’ Qual é o molho secreto Mais detalhes: O que estou realmente fazendo aqui é configurar uma function de retorno de chamada global para o […]

Exemplos de Delegados no Swift

Eu tenho tentado aprender como a delegação com protocolos funciona. Eu entendi tudo, mas não consigo pensar em quando usar a delegação além de usar exibições de tabela e possivelmente visualizações de rolagem. Em geral, quando a delegação é usada?

Como faço para imprimir o tipo ou class de uma variável no Swift?

Existe uma maneira de imprimir o tipo de tempo de execução de uma variável no swift? Por exemplo: var now = NSDate() var soon = now.dateByAddingTimeInterval(5.0) println(“\(now.dynamicType)”) // Prints “(Metatype)” println(“\(now.dynamicType.description()”) // Prints “__NSDate” since objective-c Class objects have a “description” selector println(“\(soon.dynamicType.description()”) // Compile-time error since ImplicitlyUnwrappedOptional has no “description” method No exemplo acima, […]

Como transmitir para o tipo UnsafeMutablePointer no swift

Tentando passar “self” para uma function C no swift, ao chamar o seguinte código: var callbackStruct : AURenderCallbackStruct = AURenderCallbackStruct.init( inputProc: recordingCallback, inputProcRefCon: UnsafeMutablePointer ) Qual é a maneira ideal de converter “self” em um tipo UnsafeMutablePointer aqui?

Obtendo um erro “Este aplicativo está modificando o mecanismo de cálculo automático de um thread em segundo plano”?

Foi encontrando esse erro muito no meu OS X usando swift: “Este aplicativo está modificando o mecanismo de autolayout de um thread de segundo plano, o que pode levar à corrupção do mecanismo e a falhas estranhas. Isso causará uma exceção em uma versão futura.” Eu tenho um NSWindow e estou trocando em views para […]

Solicitação HTTP no Swift com o método POST

Eu estou tentando executar uma solicitação HTTP no Swift, para POST 2 parâmetros para um URL. Exemplo: Link: www.thisismylink.com/postName.php Params: id = 13 name = Jack Qual é a maneira mais simples de fazer isso? Eu nem quero ler a resposta. Eu só quero enviar isso para realizar alterações no meu database através de um […]