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

    −80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    - (id)initWithURL:(NSURL *)newURL
    {
    	self = [self init];
            //some code
    }

    О_о

    Запостил: ZevsVU, 14 Марта 2013

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

    • Где здесь говно, ZevsVU?! Ну кроме, возможно, отсутствия проверки self на nil после инициализации.
      Ответить
    • Типичный конструктор выглядит в Obj-C так

      - (id) init
      {
          if (self = [super init]
          {
              // Some code there
          }
          return self;
      }


      super и self используются как обычные переменные. Да и вообще, весь Objective-C выглядит так, как-будто он сделан дефайнами над C.
      Ответить
      • > как-будто он сделан дефайнами над C
        Ви говорите это так, как будто это что-то плохое.
        Ответить
        • Это как-то... Несолидно :)
          Ответить
          • а что ви хотели от языка, который старше плюсов
            Ответить
            • Возможно я баяню, но
              > Ви говорите это так, как будто это что-то плохое.
              Ответить
            • c++ - 1983
              obj-c - 1986
              Или я чего-то не знаю?
              Ответить
              • C++ начал зарождаться из симулы и сишки ещё в начале 80-х, правда, за пределами AT&T в это время не использовался.
                Ответить
      • ну он так и был сделан изначально
        Ответить
    • Ты просто еще не видел как православные синглтоны в Objective-C пишутся, там по-хорошему половину методов NSObject'а переопределять надо, даже + (id)alloc
      Конкретно по приведенному коду - вполне себе адекватный конструктор по URL строке, который вызывает переопределенный конструктор по умолчанию для своего же класса, и в "//some code" скорее всего кроме запоминания URL в property ничего не было.
      Ответить
    • Только-только познакомился с этим чудо-языком?
      Ответить

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