Como posso usar esta biblioteca com Swift 3?
Ele só deve funcionar se você adicionar um cabeçalho de ponte Objective-C! :)
Em algum momento, verei se posso melhorar o design da API para torná-la mais 'Swifty' também.
Estou usando o TOCropViewController no projeto Swift 3 via cocoapods, funcionando bem, sem erros.
Esperamos uma versão rápida, por favor # @akovalov :) :) :)
@osmanyildirim Não é realmente possível 'esperar' nada de um projeto de código aberto gratuito. ;)
Se você precisa desesperadamente de suporte nativo para Swift 3, sinta-se à vontade para implementá-lo. : D
Este projeto é escrito em Objective-C e não há necessidade de fazer alterações no código (ou reescrevê-lo completamente em Swift) para usá-lo em Swift 3 ou outro código de versão Swift, porque os arquivos Objective-C e Swift podem coexistir em um único projeto. Portanto, se você usá-lo por meio do CocoaPods, o exemplo de 'Implementação Básica' do Readme em Swift será semelhante a:
import TOCropViewController
func presentCropViewController() {
let image: UIImage = ... // Load an image
let cropViewController = TOCropViewController(image: image)
cropViewController.delegate = self
present(cropViewController, animated: true, completion: nil)
}
func cropViewController(_ cropViewController: TOCropViewController!, didCropTo image: UIImage!, with cropRect: CGRect, angle: Int) {
// 'image' is the newly cropped version of the original image
}
Se você copiar o código-fonte para o projeto Swift, verifique a seção 'Importando Objective-C para Swift' aqui https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html e use como exemplo acima de.
Eu me diverti um pouco adicionando uma melhor interoperabilidade do Swift com este projeto. Sem fazer uma refatoração completa dos nomes dos métodos usando NS_SWIFT_NAME
, ACHO que isso é tudo que podemos fazer.
Se você conseguir pensar em mais alguma coisa necessária para melhorar a interoperabilidade do Swift, envie um PR. :)
Comentários muito úteis
Este projeto é escrito em Objective-C e não há necessidade de fazer alterações no código (ou reescrevê-lo completamente em Swift) para usá-lo em Swift 3 ou outro código de versão Swift, porque os arquivos Objective-C e Swift podem coexistir em um único projeto. Portanto, se você usá-lo por meio do CocoaPods, o exemplo de 'Implementação Básica' do Readme em Swift será semelhante a:
Se você copiar o código-fonte para o projeto Swift, verifique a seção 'Importando Objective-C para Swift' aqui https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html e use como exemplo acima de.