【发布时间】:2016-02-15 05:42:17
【问题描述】:
我正在自学编程,并想出了这个项目供自己学习。我的代码有问题,我能够正确保存它并加载第一个州人口 TVC。但是,我对每个州 TVC 的状态和动物数量有疑问。我想按州合计。因此,我将把狗和猫的数量加在一起,得出每个州的总数,但它把阿拉巴马州分别带来了两个不同的人口,有人可以帮我解决这个问题。
下面的模型显示了我想要的效果,我能够正确输出到 State Population 但现在是第二个。
我的代码对第二个代码所做的是它从 coredata 获取数据,但我正在使用排序描述符,因为我不知道任何其他方式来提取数据。
var totalEntries : Int = 0
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
var frc : NSFetchedResultsController = NSFetchedResultsController()
func fetchRequest() -> NSFetchRequest {
let fetchRequest = NSFetchRequest(entityName: "Animals")
let sortDescriptor = NSSortDescriptor(key: "state", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
return fetchRequest
}
func getFRC() -> NSFetchedResultsController {
frc = NSFetchedResultsController(fetchRequest: fetchRequest(), managedObjectContext: moc, sectionNameKeyPath: nil, cacheName: nil)
return frc
}
override func viewDidLoad() {
super.viewDidLoad()
frc = getFRC()
frc.delegate = self
do {
try frc.performFetch()
} catch {
print("Failed to fetch data")
return
}
totalEntries = moc.countForFetchRequest(fetchRequest(), error: nil) as Int!
self.tableView.reloadData()
}
override func viewDidAppear(animated: Bool) {
frc = getFRC()
frc.delegate = self
do {
try frc.performFetch()
} catch {
print("Failed to fetch data")
return
}
totalEntries = moc.countForFetchRequest(fetchRequest(), error: nil) as Int!
self.tableView.reloadData()
}
【问题讨论】:
-
你需要提供一些关于你的代码实际在做什么的细节。
-
@TomHarrington 我正在使用排序描述符,但它没有添加人口,它只是在(州和每个州的动物数量)中两次说阿拉巴马州并给出了单独的人口。我想做的是把阿拉巴马州的人口加起来。
-
你能添加你的获取请求代码吗?
-
@NileshMahajan 我做到了
标签: ios swift core-data nsfetchedresultscontroller