1. Objective C / Говнокод #9708

    −82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    -(void) downloadTabWithTranspose
    {
    	if (coreTextSupported) // всегда NO
    	{
    		return;
    	}
    	
    	self.tabData = [self prepareChordsUrls:self.tabData]; 
    }
    
    // Парой сотней строк ниже
    
    -(NSString *) prepareChordsUrls:(NSString *) source
    {
        NSString *regex = @"<font color=\"#.{6}\" class=\"chord\">(.*?)</font>";
        NSMutableString *newHtml = [NSMutableString string];
        NSRange range = NSMakeRange(0, 0);
        int start = 0;
    	
        while (range.location != NSNotFound)
        {
            int location = range.location + range.length;
            int length = [source length] - range.location - range.length;
            range = NSMakeRange(location, length);
            NSError *error = NULL;
            range = [source rangeOfRegex:regex options:RKLNoOptions inRange:range capture:0 error:&error];
    		
            if (range.location != NSNotFound)
            {
                NSString *found = [source substringWithRange:range];
                found = [found substringWithRange:[found rangeOfRegex:@"\\>(.*)\\<"]];
                found = [found substringWithRange:NSMakeRange(1, [found length] - 2)];
    			
                [newHtml appendString:[source substringWithRange:NSMakeRange(start, range.location - start)]];
                start = range.location + range.length;
    			
                [newHtml appendFormat:@"<a chord=\"%@\" href=\"chord:%@\">%@</a>", found, found, found];
            }
    		
        }
    	
        [newHtml appendString:[source substringWithRange:NSMakeRange(start, [source length] - start)]];
        return newHtml;
    }

    Майор Неясность одобряэ

    Запостил: krypt, 19 Марта 2012

    Комментарии (7) RSS

    • А где sendNotification: ?
      Как же без Наблюдателя тут обойтись?

      :)))
      Ответить
    • А, да, дальше шлётся уведомление через pureMVC разрывая стек вызовов, его ловит предыдущий говнокод с 50-ю ифами, и посылает в мой компонент неверно обработанные данные. Ещё одним уведомлением.
      Ответить
      • Сколько строк в файле?
        Ответить
        • TabProxy.m, смотри сам, я хз, как это в XCode сделать, ы.
          Ответить
          • Preferences -> Text Editing -> Editing -> Line Numbers
            Ответить
            • В XCode номера строк скорее мешают. А вот в 4.2 номер строки и символа под курсором нигде не отображается.
              Ответить

    Добавить комментарий