У меня проблема с пониманием части функции «селекторов», как описано в руководстве Apple. Я выделил части, где меня путают:Понимание уникальности селекторов в Objective-C
В Objective-C селектор имеет два значения. Его можно использовать для ссылки просто на имя метода, когда он используется в сообщении исходного кода объекту. Он также ссылается на уникальный идентификатор, который заменяет имя при компиляции исходного кода. Составленные селектора типа SEL. У всех методов с тем же именем есть такой же селектор . Вы можете использовать селектор для вызова метода на объекте - это обеспечивает основу для реализации шаблона целевого действия в Cocoa.
Методы и селекторы Для эффективности полные имена ASCII не используются как селектора методов в скомпилированном коде. Вместо этого компилятор записывает каждое имя метода в таблицу, затем сопоставляет имя с уникальным идентификатором , который представляет метод во время выполнения. Система времени выполнения гарантирует, что каждый идентификатор уникален: ни один из двух селекторов не будет таким же, и все методы с тем же именем имеют один и тот же селектор.
Может ли кто-нибудь объяснить эти биты? Кроме того, если у разных классов есть методы с тем же именем, будет ли они также иметь один и тот же селектор?
WOW какой фантастический повтор, спасибо большое. Пожалуйста, дайте мне несколько советов, как я могу улучшить свои навыки, как вы. –
Добро пожаловать; как улучшить? Практика. Я занимаюсь этим довольно долго. :) – bbum
:) ... я очень стараюсь, но все еще не хватает ... –