我有一个用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
}
}
效果很好,在我的自定义单元格中,我有UILabel
和UIImageView
作为名称和照片。
我的问题是,如何让用户在UITableView
中创建文件夹,并允许在文件夹中移动/整理照片?我想尝试保留NSCoding,除非它无法实现文件夹并且仍然使用NSCoding。谢谢。
答案 0 :(得分:0)
我最终没有使用NSCoding
而是使用CoreData
保存所有内容。我设置了一个名为Entity
的{{1}}并将其Photos
给了:
attributes
然后,用户可以使用name // Set as String
imageData // Set as Binary Data
folder // Set as String
添加新图片并设置要将其放入的照片和文件夹的名称。
然后我设置UITextFields
显示FolderTableViewController
中的folders
,request
从所选单元格中捕获图像名称并将其转移到新didSelectRowAtIndexPath
1}}有一个ViewController
并显示UITableView
执行FolderTableViewController
的图像。
适合我需要它做的事情。可能不是最迷人的,但它是有意义的,并做了我需要它。