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

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    -(void)makeItemavAilableWithName:(NSString*) name{
        [[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:name];
    }
    
    -(BOOL)isItemAvaliableWithName:(NSString*) name{
        //item could be a chracter or a world
        return [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue];
    }

    Вот так вот мы сохраняем булевые переменные в UserDefaults. Оригинальная орфография и пунктуация сохранены

    Запостил: SevInf, 12 Марта 2012

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

    • ну не узнал еще человек о -setBool:forKey:, подумаешь, ничего страшного. Зато обращения вынесены в методы с понятными именами, а вот если бы этого не было – тогда был бы говнокод.
      Ответить
      • >Зато обращения вынесены в методы с понятными именами
        Мне одному это глаз режет.
        >makeItemavAilableWithName
        Не знаю как там в Objective, но сеттеры обычно начинаются с set, а не с make
        Ответить
        • А геттеры обычно начинаются с get, но в Objective C все совершенно по-другому.
          Ответить
          • А путтеры с put.
            Ответить
          • >А геттеры обычно начинаются с get
            Нет. Для boolean используется префикс - is. В жаве и рнр, например.
            Ответить
        • такая опечатка может раздражать, да.
          А с чего ты взял, что это сеттер?
          Ответить
          • Если бы это одна опечатка была. Там в половине всех методов буквы скачут в неположенных местах.
            Ответить
    • [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue]

      Так если мы под этим именем NSString* сохранили, разве не должно крэшануться от попытки прокастить строку к булевому типу?
      Ответить

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