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

    −107

    1. 1
    2. 2
    SelectionViewController* controller = [[[SelectionViewController alloc] initWithArray:options selectedIndex:&_selectedIndex] autorelease];
     [self.navigationController pushViewController:controller animated:YES];

    _selectedInded это ivar типа int, который передается по ссылке!! Ад!

    notxcain, 22 Февраля 2013

    Комментарии (3)
  2. Objective C / Говнокод #12630

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case 3:
    #if !SOME_SWITCH
            vc = [AViewController new];
            break;
    
        case 4:
    #endif
            [[EGOCache currentCache] clearCache];
            break;

    За такое, по-хорошему, стоит руки отрывать, но я сильно торопился.

    byss, 21 Февраля 2013

    Комментарии (8)
  3. Objective C / Говнокод #12627

    −100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    BOOL isMan = [[NSUserDefaults standardUserDefaults] boolForKey:POLM];
    		BOOL newSex = [[NSUserDefaults standardUserDefaults] boolForKey:SEX];
    		if (isMan != newSex) {
    				// Меняем пол
    			[[NSUserDefaults standardUserDefaults] setBool:newSex forKey:POLM];
    			[[NSUserDefaults standardUserDefaults] synchronize];
                     }

    Операция по смене пола - это не так просто, как кажется

    mas_an, 21 Февраля 2013

    Комментарии (8)
  4. Objective C / Говнокод #12626

    −107

    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
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    	[self performSegueWithIdentifier:@"manWomanView" sender:self];
    	return;
    //40 строк кода...
            NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    // 5 строк формируем реквест
            NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:&err];
    if (!responseData) {
    			NSLog(@"Connection Error: %@", [err localizedDescription]);
    		}
    		NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    		NSLog(@"Response: %@", responseString);
    		NSString *isSucces = [AYDataFetcher isSucces:responseString];
    		if ([isSucces isEqualToString:@"success"]) {
    			NSLog(@"Signup Succes");
    				// Проверяем и записываем оплату
    			NSNumber *isPlat = [AYDataFetcher isPlat:responseString];
    				//NSLog(@"%@", isPlat);
    			NSLog(@"%@", [isPlat boolValue][email protected]"Paid account":@"No paid account");
    			[[NSUserDefaults standardUserDefaults] setBool:[isPlat boolValue] forKey:PLAT];
    			[[NSUserDefaults standardUserDefaults] synchronize];
    			
    			if(FALSE) // if([[MKStoreManager sharedManager] isSubscriptionActive:kMyFeatureIdentifier])
    			{
    // 80 строк кода
    			} else {
    				if (FALSE) {
    //50 строк кода......

    Клиент обратился - Приложение сделано фрилансером по имени Андрей Андреев. При переходе с одного таба на другой приложение подвисало на 5-10 секунд. Смотрим код, радуемся - все запросы к апи шлются через NSURLConnection sendSynchronousRequest, в коде куча блоков вроде if(FALSE). И это уже в релизе.

    mas_an, 21 Февраля 2013

    Комментарии (19)
  5. Objective C / Говнокод #12618

    −106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    - (void)shutdownSoundManager {
    	@synchronized(self) {
    		if(sharedSoundManager != nil) {
    			[self dealloc];
    		}
    	}
    }

    Убийца синглетонов, блджд

    clockworkman, 20 Февраля 2013

    Комментарии (2)
  6. Objective C / Говнокод #12616

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
                [NSThread sleepForTimeInterval:0.35];
                [[NSThread mainThread] performBlock:^{
                    [titleLabel setHidden:NO];
                }];
            });

    torip3ng, 20 Февраля 2013

    Комментарии (3)
  7. Objective C / Говнокод #12582

    −88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // поднимаем и опускаем панель голосования при входящем вызове
            for (ASSlideView* slideView in self.view.subviews)
                if ([slideView isKindOfClass:[ASSlideView class]])
                    for (UIScrollView* scroll in slideView.subviews)
                        if ([scroll isKindOfClass:[UIScrollView class]])
                            for (UIView* view in scroll.subviews)
                                if ([view isKindOfClass:[UIView class]])
                                    for (KVRateView* rateView in view.subviews)
                                        if ([rateView isKindOfClass:[KVRateView class]]){
                                            [rateView setFrame:CGRectMake(rateView.frame.origin.x, [[UIScreen mainScreen] bounds].size.height - 140 - [[UIApplication sharedApplication]statusBarFrame].size.height, rateView.frame.size.width, rateView.frame.size.height)];
                                            break;
                                        }

    No comments

    mas_an, 13 Февраля 2013

    Комментарии (17)
  8. Objective C / Говнокод #12457

    −101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    - (void)viewDidLoad
    {
        // ...
        
        float os_verson = [[[UIDevice currentDevice] systemVersion] floatValue];
        NSString* dev_ver_str = [[UIDevice currentDevice] systemVersion];
        
        if (os_verson >= 4 || [dev_ver_str hasPrefix:@"3.2"]) {
            [self viewWillAppear:NO];
            [self viewDidAppear:NO];
        }
    }

    Костыли наше всё

    tyler, 21 Января 2013

    Комментарии (53)
  9. Objective C / Говнокод #12452

    −90

    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
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    - (void)movementScreenUp
    {
        int shift;
        switch (_numberCell) {
            case 3:
                if (clickButtonGameCells.tag == 1 || clickButtonGameCells.tag == 10) {
                    shift = startPosition.y;
                    break;
                }
                if (clickButtonGameCells.tag == 2 || clickButtonGameCells.tag == 20) {
                    shift = - 50;
                    break;
                }
                if (clickButtonGameCells.tag == 3 || clickButtonGameCells.tag == 30) {
                    shift = - 90;
                    break;
                }
                
            case 4:
                if (clickButtonGameCells.tag == 1 || clickButtonGameCells.tag == 10) {
                    shift = startPosition.y;
                    break;
                }
                if (clickButtonGameCells.tag == 2 || clickButtonGameCells.tag == 20) {
                    shift = - 25;
                    break;
                }
                if (clickButtonGameCells.tag == 3 || clickButtonGameCells.tag == 30) {
                    shift = - 90;
                    break;
                }
                if (clickButtonGameCells.tag == 4 || clickButtonGameCells.tag == 40) {
                    shift = - 90;
                    break;
                }
                
            case 5:
                if (clickButtonGameCells.tag == 1 || clickButtonGameCells.tag == 10) {
                    shift = startPosition.y;
                    break;
                }
                if (clickButtonGameCells.tag == 2 || clickButtonGameCells.tag == 20) {
                    shift = - 1;
                    break;
                }
                if (clickButtonGameCells.tag == 3 || clickButtonGameCells.tag == 30) {
                    shift = - 40;
                    break;
                }
                if (clickButtonGameCells.tag == 4 || clickButtonGameCells.tag == 40) {
                    shift = - 86;
                    break;
                }
                if (clickButtonGameCells.tag == 5 || clickButtonGameCells.tag == 50) {
                    shift = - 86;
                    break;
                }
            
            case 6:
                if (clickButtonGameCells.tag == 1 || clickButtonGameCells.tag == 10) {
                    shift = startPosition.y;
                    break;
                }
                if (clickButtonGameCells.tag == 2 || clickButtonGameCells.tag == 20) {
                    shift = startPosition.y;
                    break;
                }
                if (clickButtonGameCells.tag == 3 || clickButtonGameCells.tag == 30) {
                    shift = - 2;
                    break;
                }
                if (clickButtonGameCells.tag == 4 || clickButtonGameCells.tag == 40) {
                    shift = - 52;
                    break;
                }
                if (clickButtonGameCells.tag == 5 || clickButtonGameCells.tag == 50) {
                    shift = - 105;
                    break;
                }
                if (clickButtonGameCells.tag == 6 || clickButtonGameCells.tag == 60) {
                    shift = - 105;
                    break;
                }
                
            default:
                break;
                 
        }
    
        [UIView animateWithDuration:0.25 animations:^{
            CGRect view_frame = self.frame;
            view_frame.origin = CGPointMake(self.frame.origin.x, shift);
            self.frame = view_frame;
        }];
    }

    Магия цифр

    tyler, 20 Января 2013

    Комментарии (19)
  10. Objective C / Говнокод #12451

    −109

    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
    - (void)countDown
    {
        NSDate *currentDate = [NSDate date];
        NSTimeInterval timeInterval = ([currentDate timeIntervalSinceDate:startDate]);
        NSDate *timerDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"ss"];
        [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
        NSString *timeString=[dateFormatter stringFromDate:timerDate];
        
        if ([timeString isEqualToString:@"02"])
        {
            [logoTimer invalidate];
            logoTimer = nil;
            // some other code
        }
    }
    
    - (void)updateCounter
    {
        startDate = [NSDate dateWithTimeIntervalSinceNow:00];
        logoTimer = [NSTimer scheduledTimerWithTimeInterval:0.1
                                                     target:self
                                                   selector:@selector(countDown)
                                                   userInfo:nil
                                                    repeats:YES];
    }

    Вот так незатейливо можно поставить задержку на 2 секунды

    tyler, 19 Января 2013

    Комментарии (31)