URL에서 JSON
을 가져오고 Core Data
및 Magical Record
을 사용하여 장치에 저장하는 응용 프로그램을 작성 중입니다. 데이터베이스를 만들지 만 관계가 데이터베이스에 null을 표시합니다. 나는 그것이 흐름을 얻기 위해 노력하고 있어요 방법은 다음과 같습니다코어 데이터가 올바르게 저장되지 않음
- 사용자는 연결
- 연결이 카테고리
- 범주 기본 주제의 제목에 호출해야 기사가있다.
다음은 내 데이터 모델입니다. 모든 부분에서 문제가없는 것 같습니다.
이 내가 데이터를 분석하고
[_operationManager POST:@"feeds" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
id connections = [[operation.responseObject objectForKey:@"Data"]objectForKey:@"connections"];
username.sessionKey =[[operation.responseObject objectForKey:@"Data"]objectForKey:@"sessionId"];
id connection;
for(connection in connections){
//Get the JSON values
NSString *contentSystemID = [connection objectForKey:@"contentSystemId"];
NSString *contentSystemName = [connection objectForKey:@"name"];
NSString *logoUrl = [connection objectForKey:@"logo"];
NSNumber *unreadCount = [connection objectForKey:@"unread_count"];
NSLog(@"Content System ID = %@",contentSystemID);
NSLog(@"Content System Name = %@",contentSystemName);
NSLog(@"Logo URL = %@",logoUrl);
NSLog(@"Unread Count = %@",unreadCount);
FCConnection *connectionEntity = [FCConnection MR_createEntity];
connectionEntity.contentSystemID = contentSystemID;
connectionEntity.contentSystemName = contentSystemName;
connectionEntity.logoUrl = logoUrl;
connectionEntity.unreadCount = unreadCount;
id categories = [connection objectForKey:@"categories"];
for (id cat in categories)
{
NSString *title = [cat valueForKey:@"name"];
NSString *unreadCount = [cat valueForKey:@"unread_count"];
NSLog(@"title = %@",title);
NSLog(@"unread_count = %@",unreadCount);
id items = [cat objectForKey:@"items"];
// NSLog(@"items = %@",items);
for (id item in items){
//
// NSLog(@"items = %@",item);
NSNumber *isRead = [item valueForKey:@"unread"];
NSString *title = [item valueForKey:@"title"];
NSString *link = [item valueForKey:@"link"];
NSString *systemID = [item valueForKey:@"itemId"];
NSLog(@"isRead = %@",isRead);
NSLog(@"title = %@",title);
NSLog(@"link = %@",link);
NSLog(@"systemID = %@",systemID);
BaseTopic *baseEntity = [BaseTopic MR_createEntity];
baseEntity.title = title;
Article *article = [Article MR_createEntity];
article.link = link;
article.systemID = systemID;
article.isRead = isRead;
}
}
}
[MagicalRecord saveUsingCurrentThreadContextWithBlock:nil completion:^(BOOL success, NSError *error) {
NSLog(@"Data Stored");
}];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//Failure
NSLog(@"Failed to fetch!");
} ];
}
나는이 부분에 뭔가가 아래처럼 내 Core Data
파일을 일으키는 것을 알고 엔티티에 저장하고 방법이다. 보시다시피 데이터는 분리되어 있고 여러 행이 있습니다. 타이틀이 상위 엔티티 "BasicTopic"에 있기 때문에 추측하겠습니다.이 문제는 현재 발생하고 있습니다.
나의 다음 문제는 관계가 테이블에 채우는하지 않는 것입니다. 아래는 사용자와 관계가있는 FCConnection의 행입니다. 행이 사용자의 pk로 채워지지 않은 이상한 이유가 있습니다.
도움이나 제안을 주시면 감사하겠습니다. 당신이 실제로 데이터 가져 오기 코드에서 객체 연결을하고 어디 보이지 않아요
네, 내가 지금 데 것이 두 번째 이미지와 함께 유일한 문제를 도움이 도움이 될 것입니다. 그것은 여전히 데이터를 별도의 줄에 넣고 있습니다. Article에서 baseTopic의 제목에 액세스하려면 어떻게해야합니까? – Dwill
위의 작업을 수행하기 위해 조건자를 작성해야합니까? – Dwill
알았어, 알아 냈어. [setValue : title forKey : @ "title"]; article.title = title과의 차이점은 무엇입니까? – Dwill