나는 tableView numberofRowsinSection
을 구현하는 방법을 알아 내려고 미쳤고, 팁이나 제안을 얻을 수 있기를 바랬다. 나는 모든 것을 지나치게 복잡하게 만든 것처럼 느낍니다. 이제는 NSDictionary 인 변환 된 XML 데이터를 게시하여 시작하겠습니다._NSCFString allKeys, 인식 할 수없는 선택 자입니다. NSDictionary라고 생각 했나요?
{
"@body" = "";
"@class_id" = "";
"@title" = Discussions;
"@type" = "Discussion Block";
},
{
"@body" = "";
"@class_id" = "";
"@col" = 1;
"@title" = YouTube;
"@type" = "Youtube Block";
item = {
"@body" = "http://www.youtube.com/watch?v=vDWhfsQHq1o&ob=av3e";
"@title" = "Gavin DeGraw - Not Over You";
"@type" = link;
};
},
{
"@body" = "";
"@class_id" = "";
"@title" = Calendar;
"@type" = "Calendar Block";
},
{
"@body" = "<p> homework test</p> ";
"@class_id" = "";
"@title" = Homework;
"@type" = "File Block";
item = (
{
"@body" = "https://MYDOMAIN.com/securelink;
"@title" = "crashreport.rtf";
"@type" = file;
},
{
"@body" = "mydomain.com/securelink";
"@title" = "Chem notes sep 26.docx";
"@type" = file;
}
);
},
{
"@body" = "<p> Link testing</p> ";
"@class_id" = "";
"@title" = Links;
"@type" = "Link Block";
item = (
{
"@body" = "http://google.com";
"@title" = Link1;
"@type" = link;
},
{
"@body" = "http://yahoo.com";
"@title" = link2;
"@type" = link;
},
{
"@body" = "http://reddit.com";
"@title" = link3;
"@type" = link;
}
);
}
)
위의 데이터는 응답입니다. 이 목표는 첫 번째 제목 키를 표 머리글로 사용하고 두 번째 "제목"키 ("항목"내부)를 해당 섹션의 행으로 사용하는 것입니다. tableView TitleforHeaderinSection
방법은 단순히 일이 까다로운 곳 numberofRowsinSection
방법은이 코드
for (NSDictionary *roster in response) {
[blockName addObject:[roster [email protected]"@title"]];
}
return [blockName objectAtIndex:section];
를 사용합니다. 이것은 내가 시도한 것입니다
for (NSDictionary *myDict in [[response objectAtIndex:section] valueForKeyPath:@"item"]) {
NSArray *keys = [myDict allKeys];
if ([keys containsObject:@"@title"]) {
array3 = [[NSMutableArray alloc] init];
[array3 addObject:[myDict objectForKey:@"@title"]];
}
}
return array3;
내가 받고있는 오류는 myDict가 NSString이고 allKeys를 사용할 수 없다는 것입니다. objectAtIndex : 1로 변경하면 allKeys 메서드가 작동하기 때문에 왜 이런 일이 발생하는지 잘 모르겠습니다. 또한 각 섹션에 필요한 행 수를 찾는 가장 좋은 방법이 아니라는 것을 확신합니다. 더 좋은 방법이 있으면 공유하십시오.
그냥 이것이 내가 위의 데이터를 분석 한 후 내있는 tableView에서 찾고 있어요 무엇을, 명확하게 : 당신의 도움에 대한Header (Discussions)
-No rows under this header
Header (YouTube)
-Row (Gavin DeGraw - Not Over You)
Header (Calendar)
-No rows
Header (Homework)
-Row (crashreport)
-Row (chem notes)
Header (links)
-Row (link1)
-Row (link2)
-Row (link3)
감사합니다. NSDictionary 및 NSArray 메서드에 대한 많은 연구를 수행했지만이 문제를 해결하는 방법이나 다른 방법으로 코드를 작성하는 방법을 잘 모르겠습니다.
좋아, 그 덕분에 의미가 있습니다. 그래서 내가 사용하는 방법은 모든 헤더에 대해 2 개 이상의 항목이있는 경우에만 작동 할 것입니다? 이 테이블을 설정하는 다른 방법이 있습니까? – davis
내 의견보기 내 대답을 –
awesome, thanks so much. else {return 0}을 추가하여 valueforkeypath 항목이없는 행을 표시하지 않았습니다. – davis