DevPrep

Все темы › Objective-C

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

Middle PRO

Суть

Ничего: сообщение nil — no-op. objc_msgSend первым делом проверяет получателя; если он nil, функция сразу возвращает управление, не ища методов и не бросая исключений. Это сознательное решение языка, унаследованное от Smalltalk, а не undefined behavior.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store