-
обозначает метод экземпляра, тогда как если бы это был +
, это был бы метод класса.
(id)
- это то, что метод вернет, что является просто ссылкой на объект.
Остальная часть строки показывает параметры. При вызове функции, вы выписывать часть каждого параметра перед :
, такими как [class initWithTitle:@"my title"];
Причина, почему два названия для каждого параметра, потому что сам метод будет относиться к переменному, все, что после того, как :
, поэтому заголовок будет newTitle
.
Сначала это меня сбивало с толку, но есть преимущества.
Кроме того, части каждого параметра в скобках являются типом объекта параметра. (NSString *)
является указателем на NSString
. Если вы должны были передать что-то, что не было NSObject
, например NSIntger
, вам не понадобится *
. Вы бы просто сделали: -(id)initWithInteger:(NSIntger)newInteger;
Ответ Dave ниже твердый, хотя я бы добавил ссылку на руководство разработчика Objective-C, поскольку это отличное введение в язык. Кроме того, Objective-C ** не имеет названных аргументов ** (не то, что вы предположили, что это так ... просто не делайте так легко ошибочно, когда вы изучаете язык)! – bbum
это вызов функции в объекте-c, также называемый «передача сообщения объекту».Вы передаете сообщение этому объекту следующим образом: '[someobject processPersonWithFirstName: aName: b age: 34];' – stefanB
bbum - у вас есть URL? –