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

    −6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    + (NSString*)enumToString:(SomeEnum)someEnumValue
    {
    	NSDictionary *strings =
    	@{
    		@(SomeEnumUndefined) : @"Undefined",
    		@(SomeEnumValue1) : @"Value1",
    		@(SomeEnumValue2) : @"Value2",
    		// Ещё 100500 пар
    	};
    
    	return strings[@(someEnumValue)];
    }

    Имена изменены, но смысл понятен. Точнее, непонятен.

    Desktop, 14 Апреля 2018

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

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    NSString* bodyParams = [NSString stringWithFormat:@"username=%@&password=%@&client_secret=very_secret", username, password];
    
    // Ниже по коду
    
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[bodyParams dataUsingEncoding:NSUTF8StringEncoding]];

    И ведь имя переменной не врёт

    Desktop, 23 Марта 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    -(id)copyWithZone:(NSZone *)zone
    {
        NSString* str = [self toJSONString];
        
        return [[MyBeautifulClass alloc] initWithJSON:str :NO];
    }

    Desktop, 05 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    ...
    ([dictionary stringObjectForKey:@"scale"].length > 0) ? (_scale = [dictionary stringObjectForKey:@"scale"]) : (_scale = @"1");
    ...

    Инициализация переменной с помощью тернарной операции.

    r1817821, 03 Ноября 2017

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

    +1

    1. 1
    2. 2
    NSString* string = [NSString stringWithFormat:@"%li", (long)number];
    NSInteger strCount = [string length] - [[string stringByReplacingOccurrencesOfString:@"1" withString:@""] length];

    Считаем количество единичек в числе.

    Взято отсюда: https://david-smith.org/blog/2017/07/07/a-favorite-hack/

    gumbert, 21 Июля 2017

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    NSString *categoryString;
    
    for (Model *categoryItem in arrayCategory) {
            if (categoryItem.isCheck) {
                if (categoryString == nil) {
                    categoryString = [NSString stringWithFormat:@"%@", categoryItem.id];
                } else {
                    categoryString = [NSString stringWithFormat:@"%@,%@", categoryString, categoryItem.id];
                }
            }
        }

    kyzmitch, 29 Мая 2017

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    NSString *userName = @"username";
      self.wscSession = [[[[[[[[[[[[WSCSessionBuilder create:urlString]
                                                 withConnectionDelegate:WSCSessionConnectionDelegate]
                                               withUserName:userName]
                                             withObserverDelegate:WSCSessionConnectionObserverDelegate]
                                           withPackage:[[WSCCallPackage alloc] init]]
                                         withHttpContext:httpContext]
                                       withIceServerConfig:iceServerConfig]
                                     build];
      // Open a connection to the server...
      [self.wscSession open];

    https://docs.oracle.com/cd/E55119_01/doc.71/e55126/wd_iosapps.htm#WSEWD548

    Оракл умеет в скобочки

    P.S. Зато они сделали SIP+WS+WebRTC

    Desktop, 16 Мая 2017

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

    −394

    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
    + (NSArray *)orderDBFilePaths:(NSArray *)paths {
        NSMutableDictionary *dictionary = [NSMutableDictionary new];
        
        for (NSString *path in paths) {
            if ([path hasSuffix:@"-shm"]) {
                [dictionary setObject:path forKey:@2];
            } else if ([path hasSuffix:@"-wal"]) {
                [dictionary setObject:path forKey:@1];
            } else {
                [dictionary setObject:path forKey:@0];
            }
        }
        
        return @[dictionary[@0], dictionary[@1], dictionary[@2]];
    }

    Сортировка фалов *.sqlite* в порядке *.sqlite, *.sqlite-wal, *.sqlite-shm для бэкапа правильного рестора бэкапа в коде 4х летней давности.

    Drenwtc, 18 Июня 2015

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

    −390

    1. 1
    2. 2
    3. 3
    4. 4
    openUTButton.frame = CGRectMake(SCREEN_WIDTH - (IS_IPAD ? 225. : 120.) - (IS_IPAD ? 40. : 20),
                                            IS_IPAD ? 40. : 20.,
                                            IS_IPAD ? 225 : 120.,
                                            IS_IPAD ? 60. : 35.);

    И так для каждого элемента интерфейса и каждый раз при смене ориентации - просто тернарный фетишизм.

    Psionic, 26 Мая 2015

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

    −405

    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
    /**
    *\brief isinteger
     *isinteger function will check if the NSString is a number or not
     * \Param    NSSting*
     * \return    true or false
     */
    bool isinteger(NSString* theString)
    {
        int myInt;
        NSScanner *theScanner = [NSScanner scannerWithString:theString];
        if ([theScanner scanInt:&myInt] && [theScanner isAtEnd] )
            return true;
        else
            return false;
    }

    Такой чудо-код встретился в проекте.

    EMax, 20 Мая 2015

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