从保存的图像中创建UITableView中的文件夹

时间:2016-04-12 15:22:31

标签: ios uitableview swift2 directory

我有一个用iOS编写的Swift2 Xcode 7项目。我使用NSCoding

将照片保存到应用中
class UserImages: NSObject, NSCoding {

    // MARK: Properties
    var name: String
    var photo: NSData // UIImage

    ...
}

这些图片目前显示在UITableView

class ImagesTableViewController: UIViewController, UITableViewDelegate {

    // MARK: Properties

    var photos = [UserImages]()

    ...

    // MARK: TableView Details

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {

        return 1

    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return photos.count

    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        let cellIdentifier = "ImageTableViewCell"

        let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! ImageTableViewCell

        let photo = photos[indexPath.row]

        var image: NSData = photo.photo as NSData

        cell.nameLabel.text = photo.name

        cell.photoImageView.image = UIImage(data: image)

        return cell

    }

}

效果很好,在我的自定义单元格中,我有UILabelUIImageView作为名称和照片。

我的问题是,如何让用户在UITableView中创建文件夹,并允许在文件夹中移动/整理照片?我想尝试保留NSCoding,除非它无法实现文件夹并且仍然使用NSCoding。谢谢。

1 个答案:

答案 0 :(得分:0)

我最终没有使用NSCoding而是使用CoreData保存所有内容。我设置了一个名为Entity的{​​{1}}并将其Photos给了:

attributes

然后,用户可以使用name // Set as String imageData // Set as Binary Data folder // Set as String 添加新图片并设置要将其放入的照片和文件夹的名称。

然后我设置UITextFields显示FolderTableViewController中的foldersrequest从所选单元格中捕获图像名称并将其转移到新didSelectRowAtIndexPath 1}}有一个ViewController并显示UITableView执行FolderTableViewController的图像。

适合我需要它做的事情。可能不是最迷人的,但它是有意义的,并做了我需要它。