Skip to content

Instantly share code, notes, and snippets.

View arturlector's full-sized avatar

Artur Igberdin arturlector

  • Kazan
View GitHub Profile
@arturlector
arturlector / bar_button_style.md
Last active March 10, 2016 21:18
Bar Button Style

Bar Button Style

//Bar Button Style
[[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UINavigationBar class]]] 
setTitleTextAttributes: @{NSForegroundColorAttributeName: [UIColor whiteColor],
NSFontAttributeName: [UIFont systemFontOfSize:15.0]} forState:UIControlStateNormal];
@arturlector
arturlector / private_protected_public.md
Created March 8, 2016 23:15
Есть ли приватные и защищенные методы в Objective-C?

Есть ли приватные и защищенные методы в Objective-C?

Не совсем так.

ivar-ы могут иметь аксессоры: @public, @private, @protected.

Фактически до любого свойства можно достучаться через KVC или runtime
@arturlector
arturlector / formal_informal_protocol.md
Created March 8, 2016 23:09
Формальный и неформальный протокол

Формальный и неформальный протокол

Неформальный протокол - категория над NSObject, которая заставляет все объекты 
адаптировать этот протокол. 

Формальный - обычный протокол @protocol
@arturlector
arturlector / delegate_notif.md
Created March 8, 2016 23:06
Какая разница между использованием делегатов и notification?

Какая разница между использованием делегатов и notification?

Они принадлежат к различным шаблонам проектирования?
@arturlector
arturlector / root_class.md
Created March 8, 2016 22:58
Какие существуют root-классы в iOS? Для чего нужны root-классы?

Какие существуют root-классы в iOS?

NSObject, NSProxy, Protocol, Class.

Для чего нужны root-классы?

@arturlector
arturlector / delegate.md
Created March 8, 2016 22:52
Что такое делегат (delegate)?

Что такое делегат?

Делегат - объект который использует другой объект для реализации тех или иных функций.
@arturlector
arturlector / object_with_nil.md
Created March 8, 2016 22:49
Что происходит когода мы пытаемся вызвать метод у nil указателя? Разница между nil и Nil и [NSNull null]?

Что происходит когода мы пытаемся вызвать метод у nil указателя?

Ничего. 

Это безопасно, поскольку не надо делать проверку объекта на nil.

Разница между nil и Nil и [NSNull null]?

@arturlector
arturlector / dot_notation_messages.md
Created March 8, 2016 22:43
В чем разница между точечной нотацией (dot notation) и использованием квадратных скобок?

В чем разница между точечной нотацией и использованием квадратных скобок?

При точечной нотации происходит диспетчеризация через геттер и сеттер
(если они переопределены).

Точечную нотацию правильно использовать только со свойствами.
@arturlector
arturlector / property.md
Last active March 8, 2016 22:39
Объявление свойств?

Объявление свойств?

retain - ручное управление памятью (устарело).
assign - для примитивов (для указателей будет тупое присваивание адреса).
copy - объект копируется в момент присваивания.
nonatomic - для работы в одном потоке, более быстрый.
atomic - потоко-безопасен, блокирует одновременный доступ, более медленный.
@arturlector
arturlector / property.md
Created March 8, 2016 22:36
Объявление свойств?

Объявление свойств?