Articles of rápidos

Não é possível acessar a propriedade no tipo Swift do Objective-C

Estou tentando acessar o Double? da class Swift Double? propriedade de Objective-C. class BusinessDetailViewController: UIViewController { var lat : Double? var lon : Double? // Other elements… } Em outro controlador de visualização, estou tentando acessar o lat seguinte forma: #import “i5km-Swift.h” @interface ViewController () @property (strong, nonatomic) BusinessDetailViewController *businessDetailViewController; @end @implementation ViewController – (void)viewDidLoad […]

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 […]