Wie kann ich diese Bibliothek mit Swift 3 verwenden?
Es sollte nur funktionieren, wenn Sie es in einen Objective-C-Bridging-Header einfügen! :)
Irgendwann werde ich sehen, ob ich das API-Design verbessern kann, um es auch "schneller" zu machen.
Ich verwende TOCropViewController im Swift 3-Projekt über Cocoapods und funktioniert ohne Fehler.
Wir erwarten eine schnelle Version bitte # @akovalov :) :) :)
@osmanyildirim Es ist wirklich nicht möglich, etwas von einem kostenlosen Open-Source-Projekt zu "erwarten". ;)
Wenn Sie dringend native Swift 3-Unterstützung benötigen, können Sie diese gerne selbst implementieren. :D
Dieses Projekt ist in Objective-C geschrieben und es müssen keine Änderungen am Code vorgenommen (oder vollständig in Swift neu geschrieben) werden, um es in Swift 3 oder einem anderen Swift-Versionscode zu verwenden, da Objective-C- und Swift-Dateien in einer einzigen koexistieren können Projekt. Wenn Sie es also über CocoaPods verwenden, sieht das Beispiel "Basic Implementation" aus Readme in Swift so aus:
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
}
Wenn Sie die Quelle in das Swift-Projekt kopieren, lesen Sie den Abschnitt 'Importieren von Objective-C in Swift' hier https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html und verwenden Sie dann das gleiche Beispiel Oben.
Ich hatte ein bisschen Spiel mit dem Hinzufügen einer besseren Swift-Interoperabilität mit diesem Projekt. Abgesehen von einer vollständigen Umgestaltung der Methodennamen mit NS_SWIFT_NAME
, denke ich, dass das so viel ist, wie wir können.
Wenn Ihnen noch etwas einfällt, um Swift-Interop zu verbessern, reichen Sie bitte eine PR ein. :)
Hilfreichster Kommentar
Dieses Projekt ist in Objective-C geschrieben und es müssen keine Änderungen am Code vorgenommen (oder vollständig in Swift neu geschrieben) werden, um es in Swift 3 oder einem anderen Swift-Versionscode zu verwenden, da Objective-C- und Swift-Dateien in einer einzigen koexistieren können Projekt. Wenn Sie es also über CocoaPods verwenden, sieht das Beispiel "Basic Implementation" aus Readme in Swift so aus:
Wenn Sie die Quelle in das Swift-Projekt kopieren, lesen Sie den Abschnitt 'Importieren von Objective-C in Swift' hier https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html und verwenden Sie dann das gleiche Beispiel Oben.