Parser&Subview

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Parser&Subview

    Der Anfänger hier, hi! ;)

    Der Parser sieht so aus:

    Quellcode

    1. - (void)parserDidStartDocument:(NSXMLParser *)parser {
    2. NSLog(@"found file and started parsing");
    3. }
    4. - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {
    5. NSString * errorString = [NSString stringWithFormat:@"Unable to download story feed from web site (Error code %i )", [parseError code]];
    6. NSLog(@"error parsing XML: %@", errorString);
    7. UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@"Error loading content" message:errorString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [errorAlert show];
    8. }
    9. - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
    10. NSLog(@"found this element: %@", elementName);
    11. currentElement = [elementName copy];
    12. if ([elementName isEqualToString:@"tt_timetable"])
    13. {
    14. // clear out story item caches...
    15. item = [[NSMutableDictionary alloc] init];
    16. currentTitle = [[NSMutableString alloc] init];
    17. currentDate = [[NSMutableString alloc] init];
    18. currentSummary = [[NSMutableString alloc] init];
    19. currentLink = [[NSMutableString alloc] init];
    20. }
    21. }
    22. - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
    23. NSLog(@"ended element: %@", elementName);
    24. if ([elementName isEqualToString:@"tt_timetable"])
    25. {
    26. // save values to an item, array
    27. [item setObject:currentTitle forKey:@"subject"];
    28. [item setObject:currentLink forKey:@"day"];
    29. [item setObject:currentSummary forKey:@"Lehrer"];
    30. [item setObject:currentDate forKey:@"room"];
    31. [stories addObject:[item copy]];
    32. NSLog(@"adding story: %@", currentSummary);
    33. }
    34. }
    35. - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
    36. NSLog(@"found characters: %@", string);
    37. // save the characters for the current item...
    38. if ([currentElement isEqualToString:@"subject"])
    39. {
    40. [currentTitle appendString:string];
    41. }
    42. else if ([currentElement isEqualToString:@"lesson"])
    43. {
    44. [currentLink appendString:string];
    45. }
    46. else if ([currentElement isEqualToString:@"teacher"])
    47. {
    48. [currentSummary appendString:string];
    49. }
    50. else if ([currentElement isEqualToString:@""])
    51. {
    52. [currentDate appendString:string];
    53. }
    54. }
    Alles anzeigen



    Das XML sieht etwa so aus:

    Quellcode

    1. <parfumeo_kkn>
    2. <tt_timetable>
    3. <id>1015</id>
    4. <day>1</day>
    5. <class_id>98</class_id>
    6. <lesson>9</lesson>
    7. <teacher>bt</teacher>
    8. <room>V1.2</room>
    9. <subject>bg</subject>
    10. <pr_id>54</pr_id>
    11. </tt_timetable>
    12. <tt_timetable>
    13. <id>1014</id>
    14. <day>1</day>
    15. <class_id>98</class_id>
    16. <lesson>8</lesson>
    17. <teacher>bt</teacher>
    18. <room>V1.2</room>
    19. <subject>bg</subject>
    20. <pr_id>54</pr_id>
    21. </tt_timetable>etc.</parfumeo_kkn>
    Alles anzeigen


    Nun das Tableview kommt mit den Subject daten, doch
    1. nicht geordnet nach den lessons und
    2. ich möchte gerne eine Subview machen mit Nebeninfos. Hab vieles im Internet zu Subviews gefunden, aber nur OSXentwicklerforum hilft dem Anfänger SO gut =)=)
  • Du solltest dringend etwas Einführendes lesen. Dein Code hat Speicherlecks.

    dav3 schrieb:

    1. nicht geordnet nach den lessons und

    Zum Sortieren einer Liste kannst Du beispielsweise sortedArrayUsingSelector: verwenden.

    dav3 schrieb:

    2. ich möchte gerne eine Subview machen mit Nebeninfos. Hab vieles im Internet zu Subviews gefunden, aber nur OSXentwicklerforum hilft dem Anfänger SO gut

    Diese Aussage verstehe ich leider nicht. Überhaupt ist Dein Beitrag nur sehr schwer verständlich.
    „Meine Komplikation hatte eine Komplikation.“
  • sorry für die verwirrung. Ich will immernoch ein XML ohne Attribute Parsen. Die Speicherlecks seh ich noch nicht wirklich. Und ja, ich bin an der Einführungsliteratur.

    Ich will die "subjects" in einer Tabelle darstellen, geordnet nach "lesson". und bei einem Klick darauf eine Subview (also ne zweite tabelle) haben mit den Infos "room", "teacher".

    Hoffe ich bin verständlicher =)