gpt4 book ai didi

ios - 将 JSON 数组插入核心数据实体

转载 作者:行者123 更新时间:2023-11-29 00:31:58 25 4
gpt4 key购买 nike

我有一个 REST API 返回到我正在尝试修复的现有应用程序的 JSON。我对 Objective-C 还很陌生。

[
{
"Activities":"
[
{
"activityid":845,
"activityname":"Registration and networking breakfast",
"actvitydesc":"Registration and networking breakfast",

},
{
"activityid":846,
"activityname":"Plenary session: The Workforce Tsunami",
"actvitydesc":"It's Time to Rethink Talent

}
}
]

我的app中有一个核心数据实体Activity,它包含以下属性Activityid activityname activitydesc

如何将 JSON 数据插入到我的核心数据实体中?是否需要创建模型类来做到这一点?我可以在不创建模型对象的情况下将我的 json 数据直接插入到核心数据中吗?

最佳答案

如果您已经拥有名为 Activity 的实体,则可以使用 NSManagedObject 类来设置属性的值。试试这个

NSManagedObject *managedObject = [NSEntityDescription insertNewObjectForEntityForName:@"Activity" inManagedObjectContext:_managedObjectContext];

[managedObject setValue:[NSNumber numberWithInteger:4711] forKey:@"activityid"];

等等...您还可以通过 XCode 8 中 CoreData 的类生成器创建类,有多种方法。自 XCode 8 起,该类默认自动生成。如果您不喜欢它,您可以禁用它并手动生成该类。只需转到 CoreData 模型 --> 编辑器 --> 创建 NSManagedObject 子类。请注意,您必须先停用自动代码生成。如果不这样做,您将在构建项目时出错。如果 JSON 属性的名称与 CoreData 属性的名称相同,您还可以像这样遍历字典:

NSArray *wrapper = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
for(NSDictionary *dict in wrapper){
NSArray *activities = [dict objectForKey:@"Activities"];
for(NSDictionary *activity in activities){
NSManagedObject *managedObject = [NSEntityDescription insertNewObjectForEntityForName:@"Activity" inManagedObjectContext:_managedObjectContext];

// [managedObject setValue:[NSNumber numberWithInteger:4711] forKey:@"activityid"];
for(NSString *attributeName in activity)
[managedObject setValue:[activity objectForKey:attributeName] forKey:attributeName];

}
}

希望对你有帮助...

关于ios - 将 JSON 数组插入核心数据实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com