首页 > 解决方案 > 使用 FetchedResultsController 获取数组

问题描述

我有以下两个变量并按如下方式获取请求,

var histBooks = [String]()
var bookDescs = [String]()

let request = NSFetchRequest<NSFetchRequestResult>(entityName: "BookDetail")
request.returnsObjectsAsFaults = false
do
{
    let results = try context.fetch(request)
    if results.count > 0
    {
        for result in results as! [NSManagedObject]
        {
            if let bookDesc = result.value(forKey: "bookTitle") as? String
            {
                bookDescs.append(bookDesc)
            }
        }
        catch{}
    }

我用 afor loop将这些变量附加为

 histBooks.append(bookDescs[i])

现在cellForRowAtIndexPath,我喜欢使用 获取数据fetchedResultsController,因为它在数组中,所以我无法弄清楚。我可以如下显示数据

let cell = tableView.dequeueReusableCell(withIdentifier: "booksTableViewCell") as! BooksTableViewCell
let bookDetail  = fetchedResultsController.fetchedObjects![indexPath.section] as! BookDetail

cell.bLabel?.text = histBooks[indexPath.row]

但是,我如何在cell.bLabel?.text使用时获取数据bookDetail?提前致谢。

标签: swiftcore-datansfetchedresultscontroller

解决方案


推荐阅读