核心数据,Swift。实体查询

时间:2015-05-29 05:29:18

标签: ios swift core-data

我目前正在使用Swift进行Core Data的第一步。 尽管我对Core Data有相当多的经验,但我对Swift几乎没有。

这就是我想要做的事情:创建一个函数,用于计算实体名称中实体的记录数。

这样的事情:

func countEntity (name:String) -> Int {
    var theNumberOfRecords:Int
    let fetchRequest = NSFetchRequest(entityName:name)
    // What I have tried at this point only gives error messages …..
    return theNumberOfRecords
}

它不应该是火箭科学。但经过各种试验和错误后,我无法做出一些工作。 我该如何编写必要的代码?我认为它不应该只是几行。我在Objective C中的那一行是6行。

1 个答案:

答案 0 :(得分:1)

获取获取请求将返回的对象数 与countForFetchRequest()

func countEntity (name:String, context : NSManagedObjectContext) -> Int {
    let fetchRequest = NSFetchRequest(entityName:name)
    var error : NSError?
    let theNumberOfRecords = context.countForFetchRequest(fetchRequest, error: &error)
    if theNumberOfRecords == NSNotFound {
        println("Error: \(error?.localizedDescription)")
    }
    return theNumberOfRecords
}

如果出现错误,countForFetchRequest()会返回 NSNotFound你必须决定如何处理这种情况。