У меня есть приложение OS X, написанное в Swift, и я пытаюсь выполнить итерацию по каталогу и сохранить каждое изображение в массиве NSImages, чтобы я мог отображать их в NSImageView один за раз.Swift OS X - Сохранить .jpeg в массив NSImage
Мой код в настоящее время находится ниже:
func LoadImages() {
let fileManager = NSFileManager.defaultManager()
let enumerator:NSDirectoryEnumerator = fileManager.enumeratorAtPath(strPhotoDirectory)!
while let element = enumerator.nextObject() as? String {
if element.hasSuffix("jpg") || element.hasSuffix("jpeg") {
self.images.append(NSImage(contentsOfFile: element)!)
}
}
self.imageCurrent.image = self.images[0] // Sets my imageView to the first image
}
где strPhotoDirectory
равно путь к файлу.
В настоящий момент отладчик завершает работу на последней строке (установка изображения на первое изображение), потому что массив находится за пределами диапазона, что я подразумеваю, что изображения никогда не сохранялись в первую очередь, поэтому массив пуст.
Я попытался po
ИНГ консоль отладчика, чтобы найти некоторые из значений моих переменных, как это работает, и обнаружили, что element.hasSuffix("XXX")
возвращает ложные для jpg
, jpeg
, JPG
, JPEG
. Изображение, которое я пытаюсь сохранить, имеет имя файла VH-YIZ VOZ B738 - YSSY - 26-07-2015 - 1 - Rotating on 34R
и расширение .JPEG
.
Что я делаю неправильно?
Заранее спасибо.
Редактировать Когда я запускаю код, он достигнет линии, указанной выше, и выводит:
strPhotoDirectory = /Users/Matt/Downloads/Test/
Total Path = /Users/Matt/Downloads/Test/VH-YIZ VOZ B738 - YSSY - 10-04-2015 - 1 - On short final for 25.JPG
затем:
fatal error: unexpectedly found nil while unwrapping an Optional value
enumerator.nextObj ect() фактически вернет имя файла, а не полный путь. вам нужно добавить его в путь к каталогу, в этом случае strPhotoDirectory и получить полный путь к файлу, прежде чем вы сможете создать NSImage. HTH – Shripada
Я изменил свой код на 'self.images.append (NSImage (contentsOfFile:" \ (strPhotoDirectory) \ (element) ")!)', Но я все равно получаю ту же ошибку. –
Каково значение strPhotoDirectory ?, также вы также можете вставить один из образованных путей изображения? – Shripada