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

    −112.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    NSString *s_diskUsage = [NSString localizedStringWithFormat:@"Unavailable"];;
    float f_vaultUsage = 0;
      
    if (inData == NULL || inData.loggedIn != 0)
    {
        [s_diskUsage release];
        s_diskUsage = [NSString localizedStringWithFormat:@"Unavailable"];
        f_vaultUsage = (float)0;
    }

    Продолжение эпопеи с проектом на Objective-C. Я не знаю, может это стандарт кодирования такой, когда нужно как можно чаще переинициализировать переменные одними и теми же значениями... на случай если им надоест и они самоуничтожатся...

    Запостил: Highlander, 13 Февраля 2010

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

    • Откуда в Си конструкция [s_diskUsage release]; ? O_o
      С#?
      Ответить
      • Хватит говорить "Откуда в Си...?".
        Ты ничего не знаешь про Си.
        Иди соСи.
        Ответить
      • Это Objective-C. там синтакс вызова метода (или в контесте "посылка сообщения") "[object methodName]".

        а с параметрами еще веселей: [object methodName:0 secondParam:1 thirdParam:2] в С++ будет "object->methodName(0,1,2)". (другими словами параметры именованые и их можно (но не нужно) указывать при вызове метода.)
        Ответить
    • Если [s_diskUsage release] производит какие-то побочные эффекты, то всё может быть нормально
      Ответить
      • Нет, ничего подобного. s_diskUsage - это обычная строка, release - обычное сообщение, ничего, кроме освобождения памяти не делающее.
        Ответить
    • Простите, а не минуемый Crash никого не смыщает? строка:
      [s_diskUsage release];
      однозначно никчему
      Ответить

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