Мое приложение публикует фотографию в Instagram, для этого оно сначала сохраняет ее во временном каталоге:
let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo")
Он работал Swift 1.2
, но не работаетSwift 2.0
.
Данное сообщение об ошибке:
stringByAppendingPathComponent недоступен: вместо этого используйте URLByAppendingPathComponent в NSURL.
Application%20Support
stringByAppendingPathComponent
, см. мой ответ ниже.NSURL
метод, аNSString
stringByAppendingPathComponent
удалено в Swift 2.0» неверно, и @Maysam не запрашивал единственныйNSURL
метод.Он работает,
NSString
поэтому вы можете использовать его так:Теперь вы можете использовать это расширение , которое будет конвертировать ваши
String
вNSString
первую , а затем выполнить операцию.И ваш код будет:
Вот еще несколько способов использования:
Ссылка ЗДЕСЬ .
Для быстрой версии 3.0:
источник
NSURL
вместо них следует использовать s. Просто говорю.checkResourceIsReachable()
илиcheckPromisedItemIsReachable()
наURL
вместо.FileManager
по-прежнему является классом ObjCNSFileManager
сNS
удаленным префиксом для Swift иfileExistsAtPath
существует с OS X 10.0. С тех пор мир изменился, и поскольку приложения изолированы в песочнице (что менее очевидно в iOS), файл может существовать, но у вас может просто не быть разрешения на его просмотр; кроме того, файл может находиться в облаке и т. д. Вот почему простойBOOL
метод заменяется чем-то более сложнымURL
, но более семантически правильным.Просто оберните строку как
NSString
.источник
String
класс не имеет этого, ноNSString
существует! имеет смысл.для Swift 3 :
или лучше создать это расширение:
использование:
источник
Решение Swift 3:
Вот функция для получения пути к каталогу документов -
Как пользоваться:
Результат:
источник
Для Swift 2.0
источник
Вместо этого вы можете использовать URLByAppendingPathComponent (). Обратите внимание, что вам следует обрезать строку пути, чтобы удалить префикс «file: //»:
источник
Сделайте следующее:
источник
Я попробовал это, и проблема была решена.
перед:
после:
источник
Если использование
NSString
методов пути (вместоString
методов URL) допустимо, гораздо проще расширитьString
его вычисляемым свойством или методом, возвращающим его значение какNSString
(вместо дублирования желаемых методов вString
расширении):а потом:
источник
Swift 4
источник