В чем разница между этими двумя типами синтаксиса?(Objective-C) - PullRequest
1 голос
/ 15 октября 2011

Я просто пытаюсь разобраться с этим типом синтаксиса

Я знаю, что

[instanceOfClass  Method];

например.[myImage setImage:[NSImage imageNamed:@"picture.jpg"]];

выполняет метод для экземпляра класса.

, но как это работает?

Variable = [Class methodName];

например.int Value = [sender intValue];

Может кто-нибудь объяснить мне это.Я понял, что первый пример выполняет метод для экземпляра класса, класса или переменной ..

но как работает последняя часть?

Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 15 октября 2011

Существуют методы экземпляра (определенные с -) и методы класса (с +).Методы экземпляра вызываются в экземплярах, а методы класса в классах.

- (void)instanceMethod;
+ (void)classMethod;

Помимо этого, вы пример:

int Value = [sender intValue];

Кажется, что метод экземпляра.Если это внутри действия, имейте в виду, sender это просто аргумент:

- (IBAction)startWork:(id)sender
{
  ...
}
3 голосов
/ 15 октября 2011

Во втором примере также выполняется метод для экземпляра класса, но этот метод возвращает значение, которое присваивается значению в левой части уравнения.

Я бы рекомендовал потратить немноговремя чтения введения , предоставленного Apple .Этот конкретный вопрос обсуждается в этой части документа :

Как и стандартные функции C, методы могут возвращать значения.В следующем примере для переменной isFilled устанавливается значение YES, если myRectangle изображается в виде сплошного прямоугольника, или значение NO, если оно рисуется только в форме контура.

BOOL isFilled;

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