Прежде всего, вам стоит взглянуть на базовую документацию Objective-C .
В Objective-C методу может предшествовать знак +
или -
.
+
для методов класса, -
для методов экземпляра.
Тогда у вас есть тип возвращаемого значения, внутри скобок и имя метода.
- ( int )foo;
Метод экземпляра с именем foo
, возвращающий int
.
Аналогичная функция C будет:
int foo( void );
В Objective-C имя метода немного особенное, когда у вас есть аргументы.
Например:
- ( int )foo: ( double )num;
Метод-член с именем foo:
, возвращающий int
и принимающий double
аргумент с именем num
.
Аналогичная функция C:
int foo( double num );
Теперь с несколькими аргументами:
- ( int )foo: ( double )num1 bar: ( float )num2;
Метод-член с именем foo:bar:
, возвращающий int
и принимающий double
аргумент с именем num1
и float
аргумент с именем num2
.
Аналогичная функция C:
int foo( double num1, float num2 );
По поводу вашего вопроса на id
, это просто тип возвращаемого метода.
id
- это typedef, используемый для экземпляров Objective-C.
По сути, это void *
.
id
действительно представляет указатель на объект Objective-C для любого класса.