2014-03-13 91 views
0

我被困在一个与核心数据有关的问题上,一旦我的应用程序加载核心数据数据库获取创建。如果证书正确,我有一个用户实体,通过登录viewController上的提交按钮来填充。在下一个视图中,我从登录viewController获取返回数据并将其提交给另一个URL。这给我JSON返回的数据也存储在数据库中。用户核心数据添加关系

我已经附加了我的数据模型,除了用户实体外,一切都正常工作,我不能为我的生活获得正确的用户去连接数据。

datamodel

这些都是我的用户 users

每个用户都有两个记录下面是什么获得存储,而不是所有全1在用户栏应该有两个1的和两个2的。

table

这里是我的代码,我使用的存储数据

User *username = [User MR_findFirstByAttribute:@"username" withValue:currentUser]; 
    NSDictionary *parameters = @{@"DeviceKey": username.guid}; 

[_operationManager POST:@"GetPrivateRssFeeds" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 

    //I'm calling all the users with this piece 
    NSArray *elements = [User MR_findAll]; 
    id attributes = [elements valueForKey:@"username"]; 

    NSLog(@"user: %@",attributes); 
    username.sessionKey =[[operation.responseObject objectForKey:@"Data"]objectForKey:@"sessionId"]; 

    id connections = [[operation.responseObject objectForKey:@"Data"]objectForKey:@"connections"]; 
    id connection; 

    NSMutableArray *connectionArray = [NSMutableArray array]; 
    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"]; 

     FCConnection *connectionEntity = [FCConnection MR_createEntity]; 
     connectionEntity.contentSystemID = contentSystemID; 
     connectionEntity.contentSystemName = contentSystemName; 
     connectionEntity.logoUrl = logoUrl; 
     connectionEntity.unreadCount = unreadCount; 

    // [user addConnections:connection]; 
     [connectionArray addObject:connection]; 

     id categories = [connection objectForKey:@"categories"]; 

     NSMutableArray *categoryArray = [NSMutableArray array]; 

     for (id cat in categories) 
     { 
      NSString *title = [cat valueForKey:@"name"]; 
      NSNumber *unreadCount = [cat valueForKey:@"unread_count"]; 


      FCCategory *category = [FCCategory MR_createEntity]; 
      category.title = title; 
      category.unreadCount = unreadCount; 


      id items = [cat objectForKey:@"items"]; 




      NSMutableArray *itemArray = [NSMutableArray array]; 

      for (id item in items) 
      { 

       NSNumber *isRead = [item valueForKey:@"unread"]; 
       NSString *title = [item valueForKey:@"title"]; 
       NSString *link = [item valueForKey:@"link"]; 
       NSString *systemID = [item valueForKey:@"itemId"]; 
      // BaseTopic *baseEntity = [A MR_createEntity]; 
      // baseEntity.title = title; 
       Article *article = [Article MR_createEntity]; 
       article.link = link; 
       article.systemID = systemID; 
       article.isRead = isRead; 

       [article setValue:title forKey:@"title"]; 
       article.category = category; 

       [itemArray addObject:article]; 
       NSLog(@"item %@",itemArray); 
      } 

      [category addArticles:[NSSet setWithArray:itemArray]]; // mapping the items to category 
      category.connection = connectionEntity; 
      [categoryArray addObject:category]; 
     } 

     connectionEntity.user = username; 
     [connectionEntity addCategories:[NSSet setWithArray:categoryArray]]; // mapping the items to connection entity 

我该如何映射用户的连接?

+0

你确定你的'currentUser'设置正确吗? –

回答

0

您正在为该循环中所列举的所有连接(用于连接连接)设置相同的用户实体(即用户名)。因此,为什么,它全部设置为1.根据您的逻辑正确设置用户实体。