- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个将一些 json 数据转化为核心数据的程序。我可以填充实体,但当我尝试填充关系的实体时出现问题。
我尝试过很多不同的东西,但这就是我现在所拥有的:
NSArray *jsonArray = [NSJSONSerialization
JSONObjectWithData:responseData
options:NSJSONReadingMutableContainers
error:&error];
Group *groupModel = [NSEntityDescription
insertNewObjectForEntityForName:@"Group"
inManagedObjectContext:context];
//NSLog(@"%@", jsonArray);
for (NSDictionary *array in jsonArray)
{
groupModel.name = [array valueForKey:@"name"];
NSSet *itemSet = [array valueForKey:@"items"];
NSLog(@"%@", itemSet);
groupModel.deck = itemSet;
for (NSDictionary *item in [array valueForKey:@"items"])
{
//groupModel.deck = telephoneSet;
}
//NSLog(@"%@", [array valueForKey:@"name"]);
//NSLog(@"%@", [array valueForKey:@"items"]);
}
我已经尝试了各种方法来插入这些数据,但我无法弄清楚。我知道我的类(class)Group与Deck有关系:
@property (nonatomic, retain) NSSet *deck;
所以我试图传递一个从 json 转换而来的 NSSet,但我无法完全弄明白。我试过以各种不同的方式遍历它并将其转换为不同的类型。
[
{
"name": "Default",
"items": [
{
"name": "Name 1",
"weapon": "Weapon 1",
"type": "Type 1"
},
{
"name": "Name 2",
"weapon": "Weapon 2",
"type": "Type 2"
}
]
}
]
数组中的项目需要转换成一个集合并传递给组属性。那是我想不通的部分。
Deck.h:
@interface Deck : NSManagedObject
@property (nonatomic, retain) NSString * info;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * type;
@property (nonatomic, retain) NSString * weapon;
@property (nonatomic, retain) Group *group;
组.h
@interface Group : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *deck;
@end
@interface Group (CoreDataGeneratedAccessors)
- (void)addDeckObject:(Deck *)value;
- (void)removeDeckObject:(Deck *)value;
- (void)addDeck:(NSSet *)values;
- (void)removeDeck:(NSSet *)values;
最佳答案
我鼓励您使用 RestKit 来帮助解决这个问题。
您有一个主要的基本问题:
Deck
的任何实例。你需要。您正在尝试将字典数组设置为 deck
,它需要一组 Deck
对象。基本上,在您的 for (NSDictionary *item ...
循环中,您应该做的第一件事是创建一个 Deck
实例。然后使用 配置它>item
字典内容。然后调用:
[groupModel addDeckObject:deck];
(不要费心尝试为所有 Deck
对象设置 NSSet
,因为无论如何您都需要迭代)。
关于ios - NSJSON序列化到核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21973574/
我正在向 Flickr API 发出一个简单的请求。我知道请求 URL 是正确的并且 URL 任务返回数据。但是,当我尝试时: let jsonObject: AnyObject! = try NSJ
过去 10 个小时一直在尝试调试崩溃,最后,我将其简化为以下代码: NSError *error = nil; NSData *data = [NSData dataWithContentsOfFil
我有以下代码 hostStr = [hostStr stringByAppendingString:post]; NSData *dataURL = [NSData dataWithContent
如何将字符串转换为字典。我们正在使用 NSJSON 但得到的是 nil 值 NSString *decryptstr = [CTAES decrypt:text]; decryptstr 包含以下数
我是 NSJSONSerialization 的新手。这是我的浏览器输出: { "appointment": [ { "w1": "Mallya Hospital",
这是我的代码 let session = NSURLSession.sharedSession() let url = NSURL(string: "http://localhost
我在解析一些 REST 响应时遇到一些有线问题。问题是,我无法重现它。有时会发生,而我在错误日志中没有相应的信息。 Error Domain=NSCocoaErrorDomain Code=3840
NSJSONSerialization.JSONObjectWithData 使用像“abc”这样的字符串时出错,但使用“123”时成功 我不知道为什么。 错误日志 2015-11-04 17:42:
解析 JSON 时出现此错误: NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONRead
我在 Swift 1.2 中使用 NSJSONSerialization 来解析从 API 响应返回的一些 json。 var err: NSError? let opts = NSJSONReadi
我是一名优秀的程序员,十分优秀!