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:
Alles anzeigen
Damit kann man die aktuelle Zeile ausgeben.
Quellcode
- @interface NSScanner( DebugAddition )
- - (NSString*)line;
- @end
- @implementation NSScanner( DebugAddition )
- - (NSString*)line {
- NSCharacterSet* characterSet = [NSCharacterSet newlineCharacterSet];
- NSUInteger position = [self scanLocation];
- NSUInteger prevNewLine = [[self string] rangeOfCharacterFromSet:characterSet
- options:NSBackwardsSearch
- range:NSMakeRange(0, position)].location;
- if( prevNewLine == NSNotFound ) {
- prevNewLine = 0;
- }
- NSUInteger nextNewLine = [[self string] rangeOfCharacterFromSet:characterSet
- options:0
- range:NSMakeRange(position, [[self string] length]- position)].location;
- if( nextNewLine == NSNotFound ) {
- nextNewLine = [[self string] length];
- }
- return [[self string] substringWithRange:NSMakeRange( prevNewLine+1, nextNewLine - prevNewLine -1)];
- }
- @end
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"?
25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?