Comment puis-je utiliser cette bibliothèque avec Swift 3 ?
Cela devrait simplement fonctionner si vous le déposez en ajoutant un en-tête de pont Objective-C ! :)
À un moment donné, je verrai si je peux améliorer la conception de l'API pour la rendre également plus «rapide».
J'utilise TOCropViewController dans le projet Swift 3 via des cocopods, fonctionne bien sans erreurs.
Nous attendons une version rapide s'il vous plaît # @akovalov :) :) :)
@osmanyildirim Il n'est vraiment pas possible d'"attendre" quoi que ce soit d'un projet open source gratuit. ;)
Si vous avez désespérément besoin d'une prise en charge native de Swift 3, n'hésitez pas à l'implémenter vous-même. :RÉ
Ce projet est écrit en Objective-C et il n'est pas nécessaire d'apporter des modifications au code (ou de le réécrire complètement dans Swift) pour l'utiliser dans Swift 3 ou un autre code de version Swift, car les fichiers Objective-C et Swift peuvent coexister dans un seul projet. Donc, si vous l'utilisez via CocoaPods, l'exemple « Implémentation de base » de Readme dans Swift ressemblera à :
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
}
Si vous copiez la source dans le projet Swift, consultez la section « Importation d'Objective-C dans Swift » ici https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html , puis utilisez comme exemple dessus.
J'ai eu un peu de mal à ajouter une meilleure interopérabilité Swift avec ce projet. À moins de refactoriser complètement les noms de méthodes à l'aide de NS_SWIFT_NAME
, JE PENSE que c'est à peu près tout ce que nous pouvons faire.
Si vous pensez à autre chose dont il a besoin pour améliorer l'interopérabilité de Swift, veuillez déposer un PR. :)
Commentaire le plus utile
Ce projet est écrit en Objective-C et il n'est pas nécessaire d'apporter des modifications au code (ou de le réécrire complètement dans Swift) pour l'utiliser dans Swift 3 ou un autre code de version Swift, car les fichiers Objective-C et Swift peuvent coexister dans un seul projet. Donc, si vous l'utilisez via CocoaPods, l'exemple « Implémentation de base » de Readme dans Swift ressemblera à :
Si vous copiez la source dans le projet Swift, consultez la section « Importation d'Objective-C dans Swift » ici https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html , puis utilisez comme exemple dessus.