我是Swift和CoreData的新手,我有一个关于如何读取存储在CoreData (NsManagedObject)中的数据并将其保存到数据数组中的问题,然后该数组可以用作SwiftUI折线图的输入。 我的测试数据模型很简单: @NSManaged public var date: Date?
@NSManaged public var value: Double 我可以使用下面的代码来读取值的数量: private func fetchItem() {
withAnimation {
let fetchRequest: NSFetchRequest
我一直在使用SwiftyJSON在Swift中创建对象模型。但是最近,我搬到了CoreData,以便在本地保存对象。我是CoreData新手,我想知道创建模型应该遵循的最佳实践。
下面是我为更新和获取用户数据而创建的内容(在从webservice获得JSON之后)
核心数据模型
import Foundation
import CoreData
import SwiftyJSON
@objc(User)
public class User: NSManagedObject {
var authToken : String!
class func addUser(fromJSON json
我正在尝试从http json资源(类别列表)获取内容,并将其与restkit和coredata连接。
当我不使用CoreData时,我的映射可以正常工作。然后我决定使用下面的教程:
然而,我收到了一个奇怪的错误,我就是找不到原因:
the entity (null) is not key value coding-compliant for the key "remoteId"
我的类别模型/实体将remoteId映射到服务器上的id,所以这不是问题所在。然而,从错误中看,Restkit或CoreData似乎无法确定我所说的是哪个实体(他们说这是一个空实体??)
请求代码如
我已经在我现有的项目中添加了一个数据模型和核心数据,我可以成功地编写对象并保存它们/插入,但是我不能仅仅在数据库中获取什么。我做错了什么?还是我误解了核心数据是如何工作的?
我可以插入一个对象,然后用下面的代码获得所需的结果--但是如果不首先使用insert,我就无法检索对象。我想存储一个“令牌”,以便应用程序记住它。
let dc = DataController()
let moc = dc.managedObjectContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "
我目前正在使用SwiftUI开发一个应用程序。
我想要创建一个函数来获取CoreData模型中的一些数据,在同一个CoreData模型中提供一个id。
这是我想要做的一个示例函数(不起作用,只是为了解释)
func getDataById(id:UUID) -> String { // give an id in model
return task // return an task in model which has the same id of the argument
}
如果我有这个CoreData模型:
id (UUID
假设我有一个模型如下所示
class Employee: Codable {
var id: String?
var personalDetails: Person?
}
class Person: Codable {
var firstName:String?
var lastName: String?
}
现在我必须在CoreData中维护一个实体(比如CoreData),它将具有完全相同的属性
现在,是否有一种方法可以而不是为该实体创建一个单独的NSManaged子类(DBEmployee),它将具有相同的属性(作为雇员),并让该实体根据Empl
我正在制作一个新闻应用程序,你可以选择你想看的话题。我遇到的问题是,您在何处取消选择该主题。所有选定的主题都被添加到CoreData的source属性下名为ArticleSource的实体中。当我尝试使用字符串title在名为Results的数组中定位主题时,出现错误。因为我不知道主题在数组中的位置,所以我尝试使用产生错误的index(of: )方法来定位它:Cannot invoke index with an argument list of type '(of: Any)'
感谢您的帮助。
do {
let appDelegate = UIApp
在objective-c中制作NSFetchRequest时,是否可以在group by part中使用自定义函数(strftime)?sql语句在sqlite中完全有效:
select date, count(*) from note group by strftime('%Y%m%d', date)
然而,经过一天的挖掘和尝试各种方法和解决方案,我得出的结论是,不可能在单个sql fetch中对核心数据执行此操作。我使用的是NSFetchRequest和setPropertiesToGroupBy (仅限iOS 5.0 )。
更新。有一个可以通过苹果提供的核心数据来获取这种
我正在使用核心数据为OS编写一个应用程序。构建并运行它以进行调试没有问题,但当我切换到发行版或尝试将其归档时,它抛出错误
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSFetchRequestExpression.h:15:39: Attempting to use the forward class 'NSExpre
我有一个具有以下“体系结构”的CoreData模型:我有一个以system_version作为属性的Session实体。然后我有一个带有Views (Session<-->>Views)属性的delta_time实体。最后,我有一个具有"UI_Elements" (Views <-->> UI_Elements)属性的variable_value实体。我想根据特定的variable_value值过滤内容,然后显示按system_version分组的delta_time平均值。
我尝试了以下实施:
var ex
我在macOS应用程序上工作,我正在使用CoreData存储在数据库中。应用程序将提供来自OS X 10.11和更高版本的支持。在OS X 10.12机器应用程序中工作正常,但在调用数据库存储方法之前,OS X 10.11无法工作,数据库存储方法会在UI中更新内容,比如像这样设置标签文本。在调用CoreData方法之后,UI也不会更新。我想是因为下面的代码 let fetchRequest:NSFetchRequest<Entity> = Entity.fetchRequest()
do {
let dbDisc = try managedObjectContext.f
我的应用程序使用CoreData框架,我想检查存储元数据和托管对象模型之间的兼容性。我用标准的方式来做:
BOOL isModelCompatible = [model isConfiguration:nil
compatibleWithStoreMetadata:metadata];
它返回NO。但是,元数据中的实体与模型中的实体相同。相同数量的实体,并且每个实体具有相同的名称。然而,自从使用这个模型创建商店以来,模型确实发生了变化,我在一个实体中删除了几个属性。我想知道这是否足以使模型与存储元数据不兼容。我看了一下官方文件,上面写着:
This me
我在CoreData中有用户模型和汽车模型。我为1个用户保存了3辆车。 如何只选择每辆车的名称变量并设置为数组? let users = try! managedContext.fetch(userFetch)
let currentUser: User = users.first as! User
let cars = currentUser.cars?.allObjects as! [Car]
print(currentUser.email)
let carsList = [String]
cars.forEach { sample i
我正在尝试使用可转换类型对核心数据模型中的属性进行加密,但是在将数据持久化到sqlite db之后,我遇到了很多试图取回结果的问题。我的核心数据的主要应用程序是存储一些与用户相关的数据,并按名字、姓氏等进行排序,然后将其显示在表视图中,使用名字/姓氏的第一个字母作为节标题。加密似乎干扰了结果,因为当我尝试使用lastName作为排序描述符使用NSFetchedResultsController进行fetch请求时,什么也得不到。我得到以下错误:
CoreData: error: (NSFetchedResultsController) The fetched object at index X