Poniższy przykład Swift 2 daje ten błąd:Jak wyświetlić obraz z katalogu dokumentów do UIImageView w Swift 3?
Value of type String has no member 'stringByAppendingPathComponent'
Co muszę zmienić w Swift 3?
Poniższy przykład Swift 2 daje ten błąd:Jak wyświetlić obraz z katalogu dokumentów do UIImageView w Swift 3?
Value of type String has no member 'stringByAppendingPathComponent'
Co muszę zmienić w Swift 3?
Apple próbuje przenieść wszystkich z paradygmatu ścieżki do adresu URL (np. file:///path/to/file.text
). Interfejs API Swift prawie całkowicie usuwa wszystkie path
na korzyść URL
.
Nadal można go znaleźć w Objective-C (NSString
):
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let getImagePath = NSString.path(withComponents: [paths, "fileName"])
Im więcej Swifty sposób:
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = URL(fileURLWithPath: paths).appendingPathComponent("fileName")
szybkiego błąd podczas próby umieszczenia na UIImageView: " nie można przekonwertować wartości typu "URL" na oczekiwany typ argumentu "Ciąg" "w: myImage.image = UIImage (contentsOfFle: url) – Arkelyan
Jeśli zdecydujesz się na użycie URL, wywołaj właściwość' path', aby uzyskać ścieżkę jako ciąg: ' myImage.image = UIImage (contentsOfFle: imageUrl.path) ' –
niesamowite, że wszyscy zrobili lewę, dzięki! – Arkelyan
ja osobiście jak się od tej wartości z delegatem App. Umieść ten kod (niezależnie jak normalna funkcja) w AppDelegate.swift.
lazy var applicationDocumentsDirectory: URL = {
let urls = FileManager.default.urls(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask)
return urls[urls.count-1]
}()
Więc we wszystkich plików można użyć go w ten sposób:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let imageUrl = appDelegate.applicationDocumentsDirectory.appendingPathComponent("YourFileName")
let imageUrlString = imageUrl.urlString //if String is needed
uzyskanie wartości błędu typu "URL" nie ma członka "urlString". Jeśli nie używam tego, ale zamiast tego używam imageUrl, otrzymuję "nie mogę przekonwertować wartości typu" URL "na oczekiwany typ argumentu" String "" w: myImage.image = UIImage (contentsOfFle: imageUrl) – Arkelyan
Zapomniałem wspomnieć, że opublikował szybki kod 3 napisany na Xcode 8 Beta 6. To był pierwszy raz, gdy musiałem użyć elementu urlString, jak zaktualizował go SDK. – pedrouan
rodzaj błędu w treści swoje pytanie zamiast łączyć zrzut ekranu – Shades