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

    −111

    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
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    +(NSMutableURLRequest *) formatRequest:(NSString *) urlString withRequestType:(NSString *) type withData:(NSString *) dataStr withParam:(NSMutableArray *) param withContentType:(NSString *) content
    {
    	NSString *deviceId = [[UIDevice currentDevice] uniqueIdentifier];
    	NSString *urlWithParametr = nil;
    	
        #if defined(XXX_PROJECT)
    	if ([urlString rangeOfString:@"?"].location == NSNotFound)
        urlWithParametr = [[[NSString alloc] initWithFormat:@"%@?device_id=%@&app_platform=iphone&app_version=%@&file_type=guitar_pro&app_name=XXX", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
    	else
        urlWithParametr = [[[NSString alloc] initWithFormat:@"%@&device_id=%@&app_platform=iphone&app_version=%@&file_type=guitar_pro&app_name=XXX", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
        #else
        
    	if ([urlString rangeOfString:@"?"].location == NSNotFound)
        {
            //urlWithParametr = [[[NSString alloc] initWithFormat:@"%@?device_id=%@&app_platform=iphone&app_version=%@&file_type=guitar_pro", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
            
            if ([dataStr isEqual:@"NeedGuitarPro"])
            {
                dataStr = nil;
                urlWithParametr = [[[NSString alloc] initWithFormat:@"%@?device_id=%@&app_platform=iphone&app_version=%@&file_type=guitar_pro", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
            }
            else
            if ([dataStr isEqual:@"NeedAllWithGutarPro"])
            {
                dataStr = nil;
                urlWithParametr = [[[NSString alloc] initWithFormat:@"%@?device_id=%@&app_platform=iphone&app_version=%@&file_type_group=all", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
            }
            else 
            {
                urlWithParametr = [[[NSString alloc] initWithFormat:@"%@?device_id=%@&app_platform=iphone&app_version=%@", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
            }
        }
        else
        urlWithParametr = [[[NSString alloc] initWithFormat:@"%@&device_id=%@&app_platform=iphone&app_version=%@&file_type=guitar_pro&app_name=XXX", urlString, deviceId, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]] autorelease];
        #endif
    	
        if (content != nil && [content length] > 0)
        {
            urlWithParametr = [urlWithParametr stringByAppendingString:[NSString stringWithFormat:@"&%@", content]];
        }
    	
    	//NSLog(@"PARAMETERS:");
        //	NSLog(@"%@", [param description]);
        
        if ([param count])
        {
            for (NSMutableDictionary *dict in param)
            {
                urlWithParametr = [urlWithParametr stringByAppendingString:[NSString stringWithFormat:@"&%@=%@", [dict objectForKey:@"name"], [dict objectForKey:@"value"]]];
            }
        }
    	
        NSLog(@"THE urlWithParametr = %@", urlWithParametr);
        NSURL *urlServer = [NSURL URLWithString:urlWithParametr];
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlServer];
        [request setHTTPMethod:type];
        [request setCachePolicy:NSURLRequestUseProtocolCachePolicy];
        [request setTimeoutInterval:30.0];
        
        if (dataStr != nil)
        {
            NSString *contentType = @"application/x-www-form-urlencoded";
            [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
            NSMutableData *postBody = [NSMutableData data];
            [postBody appendData:[dataStr dataUsingEncoding:NSUTF8StringEncoding]];
            [request setHTTPBody:postBody];
        }
        
        return request;
    }

    Творение моего "любимого" автора. Мне иногда кажется, что нас спасут только массовые расстрелы. Хотя кое-кто настаивает на введении телесных наказаний.

    Запостил: krypt, 18 Мая 2012

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

    • показать все, что скрытоКазалось бы, при чем здесь obj-c ?
      Ответить
    • Просто из праздного любопытства: а почему в Obj-C все имена классов начинаются с NS - это что-то значит?
      Ответить
      • выглядить так, как буд-то напиздили кода у netscape
        Ответить
      • Изначально SDK был создан для операционной системы NextStep. Отсюда и префикс NS.
        Ответить
        • > операционной системы NextStep
          про которую никто не знает?
          Ответить
          • Вы что! Это же конкурент Win 95 )
            Её потом Эппл выкупил, и использовал как основу для Mac OS.
            Ответить
      • Это только во фреймворке Foundation.
        Ответить
      • По-моему, потому что NS значит NextStep, а NextStep - это ось, на основе которой написана MacOS X, а Obj-C в основном используется в MacOS X
        Ответить
      • NS - идет от Next Step, проект который Стив вел когда его поперли из Apple
        Ответить
      • No more Steve
        Ответить
    • Только сейчас заметил, как универсально используется dataStr. Ужас.
      Ответить

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