Articles of swift2

Captura do NSException no Swift

O código a seguir no Swift gera exceção NSInvalidArgumentException: task = NSTask() task.launchPath = “/SomeWrongPath” task.launch() Como posso pegar a exceção? Pelo que entendi, try / catch no Swift é para erros lançados dentro do Swift, não para o NSExceptions criado a partir de objects como o NSTask (que eu acho que está escrito no […]

Substituindo methods nas extensões Swift

Eu costumo colocar apenas as necessidades (propriedades armazenadas, inicializadores) em minhas definições de class e mover todo o resto para a sua própria extension , como uma extension por bloco lógico que eu iria agrupar com // MARK: também. Para uma subclass UIView, por exemplo, eu acabaria com uma extensão para material relacionado ao layout, […]

Sintaxe Swift do-try-catch

Eu tento entender uma nova coisa de manipulação de erros no swift 2. Aqui está o que eu fiz: Eu declarei primeiro um enum de erro: enum SandwichError: ErrorType { case NotMe case DoItYourself } E então eu declarei um método que gera um erro (não é uma exceção pessoal. É um erro). Aqui está […]

Usando NSUserDefaults em matrizes

Estou tentando usar o NSUserDefaults para salvar um array nos dados principais do meu aplicativo. Eu pensei que seria bom usar o NSUserDefaults, mas o problema é que, onde quer que eu coloque o código que cria o padrão, ele gera o erro SIGABRT. Aqui está o código que cria o padrão: let levelArrayDefault = […]

Instancetype de retorno em Swift

Estou tentando fazer essa extensão: extension UIViewController { class func initialize(storyboardName: String, storyboardId: String) -> Self { let storyboad = UIStoryboard(name: storyboardName, bundle: nil) let controller = storyboad.instantiateViewControllerWithIdentifier(storyboardId) as! Self return controller } } Mas eu recebo erro de compilation: erro: não é possível converter a expressão de retorno do tipo ‘UIViewController’ para retornar o […]

Swift: guarda vs se deixar

Eu tenho lido sobre Optionals no Swift, e tenho visto exemplos onde if let é usado para verificar se um Optional contém um valor, e caso isso seja feito – faça algo com o valor desembrulhado. No entanto, tenho visto que no Swift 2.0 o guard palavra-chave é usado principalmente. Gostaria de saber if let […]

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

.toInt () removido no Swift 2?

Eu estava trabalhando em um aplicativo que usava um campo de texto e o traduzia em um inteiro. Anteriormente meu código textField.text.toInt() trabalhado. Agora Swift declara isso como um erro e está me dizendo para fazer textField.text!.toInt() e ele diz que não há toInt() e tente usar Int() . Isso não funciona também. O que […]