Делаем Objective-C чуть более Swift-овым через __auto_type

Д

Довелось мне в эти дни побывать на, очевидно, крупнейшей конференции в Украине по мобильной разработке. Если честно, до 8го Xcode руки у меня еще не дошли, но одну крутую фишку, показанную на UaMobiTech 2016 я хочу все таки показать: __auto_type.

Канон

Давайте создадим пару объектов на Objective-C так, как это было до Xcode 8:

Автотип

В Objective-C в Xcode 8 появилась возможность объявлять переменные немного иначе, через __auto_type (в начале 2 подчеркивания). Можно создать множество типов данных, в отличие от Swift, нам необходимо каждый раз явно указывать тип данных, который мы создаем. Так вот, давайте посмотрим на этот же код, с использованием автотипа:

#define

Самое крутое, что может быть в логическом итоге сей новой фичи — возможность ее дефайна. Для справки — Оператор #define позволяет присваивать символические имена программным константам, проще говоря — создает им псевдонимы:

Итог

Как мы видим, с помощью нехитрых манипуляций мы сделали создание переменных на Objective-C крайне Swift-овым. Да, это игрушка, но она действительно делает ваш код короче, читабельнее и понятнее.

Впереди много интересного! Следите за нашим блогом и пабликом вк!

Поддержите ресурс blog.justDev:

Сведения об авторе

Игорь Малеваный

3 комментария

  • Автор не знает Objective-C от слова совсем…

    NSMutableString *stringVar = @»Hello»; //изменяемая строка
    NSString *stringConst = [NSString stringWithFormat:@»Hello»]; //неизменяем я строка

    обе не изменяемые и абсолютно одинаковы и никакой вывод типов не сделает их изменяемыми!

      • Так на вскидку хотя кланг все равно это воспримет одинаково Но понимать надо:

        NSString * const str1 = @»test1″; // Константный ссылка
        const NSString *str2 = @»test2″; // Константный объект

        const NSString * const str3 = @»test3″ // Константная ссылка на константный объект

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики