我正在尝试从CoreData获取数据并将其作为数组返回到流行的图表库中进行制图。下面的代码运行正常,我可以将数据打印到控制台,但是我想用selfData中的条目填充self.hkdataBase并返回它。知道我做错了吗?
class ViewController: UIViewController {
var hkdataBase = [HKdataBase]()
...
func fetchCoreData () -> NSArray {
//Setting up Core Data
var context = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
var request = NSFetchRequest(entityName: "HKdataBase")
request.returnsObjectsAsFaults = false
//Fetching Data
self.hkdataBase = context.executeFetchRequest(request, error: nil)! as [HKdataBase]
if hkdataBase.count > 0 {
for i in hkdataBase {
**I WANT TO FILL self.hkdataBase WITH i ELEMENTS HERE ** -> println(i.hr_data) WORKS FINE
}
} else {
println("No results")
}
}
**return self.hkdataBase with elements**
}
更新1: 我想从CoreData中的获取数据中返回一个数组。 hr_data是心率测量值,hr_date是关联的NSDate。 HKdataBase看起来像这样:
导入基金会 导入CoreData
class HKdataBase:NSManagedObject {
@NSManaged var hr_date: NSDate
@NSManaged var hr_data: NSNumber
}
答案 0 :(得分:1)
获取后,您已经拥有self.hkdataBase
中的托管对象。托管对象符合KVC标准,因此如果非常简单,只需获得一种价值。
var hrData = (self.hkdataBase as NSArray).valueForKey("hr_data") as NSArray
您现在有一个包含hr_data的数组,可能是NSNumber
个对象的数组。