2016-12-12 13 views
1

私のデータの構造は、以下のようになる:Objective-C:辞書内の辞書を取得する方法は?

{コース=({コース{...}、CourseTime({}、{})、CoursesStudents({}、{})})}

ここでは詳細に:

{ 
Courses =  (
      { 
     Course =    { 
      color = 77a0a9; 
      created = "2016-02-05 18:05:59"; 
      id = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
      modified = "2016-02-05 18:05:59"; 
      "term_id" = "56b3cb9f-9044-4a36-91fd-5dc74e2e862d"; 
      title = "---------Neuer Titel"; 
      "weighting_reportmark" = 40; 
     }; 
     CourseTime =    (
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-05 18:08:09"; 
       day = 5; 
       enddate = "2016-07-08"; 
       endtime = "12:00:00"; 
       id = "56b4d6f9-5c4c-4c70-a5de-2d2d4e2e862d"; 
       modified = "2016-02-23 16:14:33"; 
       repeating = 1; 
       room = A320; 
       startdate = "2016-02-04"; 
       starttime = "10:00:00"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-05 18:09:50"; 
       day = 4; 
       enddate = "2016-07-08"; 
       endtime = "08:00:00"; 
       id = "56b4d75e-c948-494b-8622-2d2d4e2e862d"; 
       modified = "2016-02-20 14:12:30"; 
       repeating = 2; 
       room = Aula; 
       startdate = "2016-02-04"; 
       starttime = "07:00:00"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-09 08:40:56"; 
       day = 2; 
       enddate = "2016-07-08"; 
       endtime = "12:30:00"; 
       id = "56b99808-82a8-46fc-a554-79844e2e862d"; 
       modified = "2016-02-20 14:12:20"; 
       repeating = 1; 
       room = C14; 
       startdate = "2016-02-04"; 
       starttime = "11:45:00"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-10 23:33:55"; 
       day = 6; 
       enddate = "2016-07-08"; 
       endtime = "11:27:00"; 
       id = "56bbbad3-0974-48a5-a76a-63ec4e2e862d"; 
       modified = "2016-05-07 07:39:02"; 
       repeating = 1; 
       room = ""; 
       startdate = "2016-02-04"; 
       starttime = "08:00:00"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-11 11:09:05"; 
       day = 7; 
       enddate = "2016-07-08"; 
       endtime = "10:10:00"; 
       id = "56bc5dc1-6b38-4823-8363-05844e2e862d"; 
       modified = "2016-02-23 16:00:06"; 
       repeating = 1; 
       room = ""; 
       startdate = "2016-02-04"; 
       starttime = "08:09:00"; 
      } 
     ); 
     CoursesStudents =    (
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-02-05 20:59:10"; 
       id = "56b4ff0e-ab0c-4a9a-8dec-30a24e2e862d"; 
       modified = "2016-02-05 20:59:10"; 
       "student_id" = "56b4ff0e-a0f0-4627-b798-30a24e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-03-08 12:50:40"; 
       id = "56debc90-1948-4d4e-b0c3-7b664e2e862d"; 
       modified = "2016-03-08 12:50:40"; 
       "student_id" = "56b98e0d-3890-434e-8de6-79844e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-03-08 12:50:40"; 
       id = "56debc90-8280-40f6-a216-7b664e2e862d"; 
       modified = "2016-03-08 12:50:40"; 
       "student_id" = "56c49805-9334-49be-9e2f-591a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-2168-4281-af19-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "5700c1d3-5810-473f-b472-606a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-329c-4e3d-8df1-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-037c-4dce-bf60-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-35bc-479a-80bb-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891ba-7598-4df4-b036-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-39ec-4f47-b776-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "5700c1d3-1608-4d4b-a13a-606a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-3d4c-4888-b668-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-c5ac-4497-926f-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-4560-4aee-9bee-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "56c02afd-4b8c-4973-9971-05624e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-5d08-4c95-9c4f-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-f45c-485f-bfef-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-6194-4e49-a5f0-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-1fac-4cee-ac9c-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-8b08-452c-bed4-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-0060-4b77-a403-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-954c-4328-91d3-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-b998-47c0-aeef-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-9720-4602-a204-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-c1e8-45a9-b9fc-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-b7cc-41f4-9546-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "56fa8442-3320-4bb4-9dd9-23514e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-c38c-42d8-9ffd-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-efb8-4447-96bc-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-c8d8-4af6-ac28-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "56e3f4dd-8d38-4ad7-92e1-34374e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-d828-4a55-8b64-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "56fa38bf-9394-498d-a4b3-22174e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-e7b0-4516-aef3-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891ba-2728-406d-be39-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-f1bc-48af-b56f-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "570891bb-ae8c-4112-a455-698a4e2e862d"; 
      }, 
          { 
       "course_id" = "56b4d677-1070-4a26-9fd1-28204e2e862d"; 
       created = "2016-04-20 16:36:02"; 
       id = "571793d2-fa7c-486b-a2f9-3a254e2e862d"; 
       modified = "2016-04-20 16:36:02"; 
       "student_id" = "5700c1d3-6bd8-43dc-bbf7-606a4e2e862d"; 
      } 
     ); 
    } 
); 

}

私はコース-Dictの取得しようとしている:コース{...}を、私はこれを行う方法を知りません。 私は最初、上側の辞書を取得するコード行を持っていた:

[currentCourse updateDataWithDictionary:responseDict[@"Courses"]]; 

をしかし、私はサブ辞書を取得する方法がわかりません。私はこれを試した:

[currentCourse updateDataWithDictionary:responseDict[@"Courses"]["@Course"]]; 

これは動作しません。このサブ辞書を取得する正しい方法は何ですか?

ありがとうございました!

+0

「コース」の内容と「コース時間」は**配列**です。 '()' - >配列、 '{}' - >辞書です。それは少なくとも 'responseDict [@" Courses "] [0] [@" Course "] [0]' – vadian

答えて

0

これを試してみてください:

NSDictionary *dict = @{ @"key": @{@"subkey": @"value"}}; 
NSLog(@"%@", [dict valueForKeyPath:@"key.subkey"]); 

結果:

2016-12-12 14:13:52.478 solution[57:57] value

があなたの場合:

[currentCourse updateDataWithDictionary:[responseDict valueForKeyPath:@"Courses.Course"]]; 

しかし、辞書のキーCoursesあなたの供給構造では、その正しい方法配列である必要がありますbe:

[currentCourse updateDataWithDictionary:responseDict[@"Courses"][0][@"Course"]]; 
+0

です。質問のオブジェクトは辞書の辞書ではありません。 – vadian

+0

@vadianはいあなたは正しいです、質問は指定されたデータ構造と一致しません。 –

関連する問題