Я пытаюсь архивировать массив объектов фото() с некоторыми членами в нем. Учитывая, что протокол NsCoding был реализован правильно, будет ли следующий код работать, чтобы успешно архивировать (сохранять) данные из массива и анархировать его снова?Архивирование и unArchiving пользовательских объектов с помощью NSCoder
var dir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) [0] as String
var dir2 = "/photo.plist"
//This method is suppose to archive objects if the array is not empty.
func archivePhoto () {
let archiveName = self.dir + self.dir2
if (photos.count > 0){
for photo in photos {
NSKeyedArchiver.archiveRootObject(photo, toFile: archiveName)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Register cell classes
self.collectionView!.registerClass(PhotosCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
// Do any additional setup after loading the view.
archivePhoto()
let archiveName = self.dir + self.dir2
if let myArray = NSKeyedUnarchiver.unarchiveObjectWithFile(archiveName) as Array<Photo>? {
photos = myArray
self.collectionView?.reloadData()
}
}
«будет ли следующий код работать, чтобы успешно архивировать (сохранять) данные из массива и анархировать его снова? На данный момент это не так». Если это не так, то, очевидно, нет, это не сработает. Что за вопрос? – matt
@matt Извините за замешательство, я отредактирую свой вопрос. Но не могли бы вы помочь мне указать на мою ошибку? –