В чем разница между функцией Objective-C и методом Objective-C? - PullRequest
1 голос
/ 02 ноября 2011

Я читаю книгу "Программирование Objective-C" ранчо Big Nerd и не уверен насчет дифференциации.

Контекст: NSLog () - это функция Objective-C (а не метод!), Котораяработает так же, как printf ().Однако в NSLog () строка формата фактически является экземпляром NSString.

Ответы [ 4 ]

7 голосов
/ 02 ноября 2011

A метод - это просто функция, определенная как часть класса .Простая функция, такая как NSLog или printf, не принадлежит классу.

2 голосов
/ 02 ноября 2011

Не существует такой вещи, как «функция Objective-C».NSLog - это функция, такая же, как и любая другая стандартная функция в библиотеке, просто она принимает объект Objective-C, но это всего лишь указатели, поэтому они могут нормально взаимодействовать с кодом C.В NSLog нет ничего особенного.

С другой стороны, метод является частью класса Objective-C.

1 голос
/ 02 ноября 2011

Функция в Obj-C не относится к определенному классу, а метод - к классу.

1 голос
/ 02 ноября 2011

Методы принадлежат классам и объектам и вызываются путем передачи сообщений. Функции не привязаны к определенному классу или объекту и работают точно так же, как в C.

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