Scanner besser debuggen

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

  • Scanner besser debuggen

    Ich habe häufig das Problem, dass beim Scannen irgendwas falsch läuft. Das ist schwierig zu debuggen, da man nie so genau weiß, wo das Ding gerade herumkrebst. Daher mal eine kleine, nicht sehr schöne, aber überwiegend funktionierende Kategorie:

    Quellcode

    1. @interface NSScanner( DebugAddition )
    2. - (NSString*)line;
    3. @end
    4. @implementation NSScanner( DebugAddition )
    5. - (NSString*)line {
    6. NSCharacterSet* characterSet = [NSCharacterSet newlineCharacterSet];
    7. NSUInteger position = [self scanLocation];
    8. NSUInteger prevNewLine = [[self string] rangeOfCharacterFromSet:characterSet
    9. options:NSBackwardsSearch
    10. range:NSMakeRange(0, position)].location;
    11. if( prevNewLine == NSNotFound ) {
    12. prevNewLine = 0;
    13. }
    14. NSUInteger nextNewLine = [[self string] rangeOfCharacterFromSet:characterSet
    15. options:0
    16. range:NSMakeRange(position, [[self string] length]- position)].location;
    17. if( nextNewLine == NSNotFound ) {
    18. nextNewLine = [[self string] length];
    19. }
    20. return [[self string] substringWithRange:NSMakeRange( prevNewLine+1, nextNewLine - prevNewLine -1)];
    21. }
    22. @end
    Alles anzeigen


    Damit kann man die aktuelle Zeile ausgeben.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?