Что происходит с методом Objective C с аргументом NULL? - PullRequest
0 голосов
/ 17 февраля 2012

Я новичок в программировании на iOS и пытаюсь изучить некоторые основы и основные понятия. Я знаю, что если мы вызываем метод для NULL-объекта, он не выдает никакой ошибки, но просто метод не будет вызван. Но что, если у меня есть действительный объект, и я вызываю метод, который принимает аргумент, и этот аргумент является нулевым во время его вызова. Что будет в этом случае?

, например

[self callMethod1:methodArgument];  //methodArgument is null at this time

-(void) callMethod1:(NSString *)methodArgument
{
  //Do Stuff here
}

Кроме того, что произойдет в той же ситуации, если мы будем использовать C / C ++?

Любые ответы / идеи будут оценены.

Спасибо Vik

1 Ответ

3 голосов
/ 17 февраля 2012

В этом случае нет ничего особенного, он просто вызовет метод с nil / 0 в качестве аргумента.
В C ++ поведение такое же: если вы передаете нулевой указатель, метод получает нулевой указатель в качестве аргумента.

Передача nil (это просто имя, обычно используемое для нулевых указателей на объекты Objectice-C) имеет смысл, например, например:

[someClass setDelegate:nil]; // unregister delegate

Помните, что вы передаете указатели, а не экземпляры.

...