- 1
- 2
SelectionViewController* controller = [[[SelectionViewController alloc] initWithArray:options selectedIndex:&_selectedIndex] autorelease];
[self.navigationController pushViewController:controller animated:YES];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−107
SelectionViewController* controller = [[[SelectionViewController alloc] initWithArray:options selectedIndex:&_selectedIndex] autorelease];
[self.navigationController pushViewController:controller animated:YES];
_selectedInded это ivar типа int, который передается по ссылке!! Ад!
−110
case 3:
#if !SOME_SWITCH
vc = [AViewController new];
break;
case 4:
#endif
[[EGOCache currentCache] clearCache];
break;
За такое, по-хорошему, стоит руки отрывать, но я сильно торопился.
−100
BOOL isMan = [[NSUserDefaults standardUserDefaults] boolForKey:POLM];
BOOL newSex = [[NSUserDefaults standardUserDefaults] boolForKey:SEX];
if (isMan != newSex) {
// Меняем пол
[[NSUserDefaults standardUserDefaults] setBool:newSex forKey:POLM];
[[NSUserDefaults standardUserDefaults] synchronize];
}
Операция по смене пола - это не так просто, как кажется
−107
- (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]?@"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). И это уже в релизе.
−106
- (void)shutdownSoundManager {
@synchronized(self) {
if(sharedSoundManager != nil) {
[self dealloc];
}
}
}
Убийца синглетонов, блджд
−98
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[NSThread sleepForTimeInterval:0.35];
[[NSThread mainThread] performBlock:^{
[titleLabel setHidden:NO];
}];
});
−88
// поднимаем и опускаем панель голосования при входящем вызове
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
−101
- (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];
}
}
Костыли наше всё
−90
- (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;
}];
}
Магия цифр
−109
- (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 секунды