«Я» безопаснее, чем вызывать объект без него? - PullRequest
2 голосов
/ 07 декабря 2011

Я видел оба пути от разных программистов.

  • [метод [self object]]
  • [метод объекта]

Некоторые другие просто используют [метод self.object] вместо [метод [self object]] .

Дает ли я уверенность в том, что я не могу вызывать другие объекты? Я думаю, что второй способ более читабелен.

Что мне использовать?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Это зависит от вас. Это просто разные стили программирования. Однако, если ваш метод-получатель делает больше, чем просто возвращает object, вызов self.object или [self object] (что одно и то же) каждый раз может быть менее эффективным.

например:

- (NSObject *) object {
  // some random code here
  return _object;
}

рассмотрим эти два примера:

NSObject *obj = [self object];
[[self object] method];

против

NSObject *obj = [self object];
[obj method];

Второй метод мог бы быть более эффективным, поскольку «случайный код» в методе получения выполняется только один раз, тогда как в первом примере он выполняется дважды (каждый раз, когда вызывается [self object]).

0 голосов
/ 07 декабря 2011

Я лично использую [метод объекта]. Однако, используя [метод self.object] или [метод self object], вы гарантируете отсутствие коллизий имен. Я думаю, что это действительно вопрос личных предпочтений. Одна вещь, которая меня ловит, это когда я использую свойство, которое я синтезировал с использованием синтаксиса _object, и я продолжаю пытаться сделать [метод объекта] вместо [метод _объекта]. Так что решать вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...