Я думаю, вам нужно прочитать о функции синтаксиса в Objective-C
- (type_r) abc:(type1)x cde:(type2)y def:(type3)z
является методом экземпляра (с использованием требует создания объект), имя которого abc:cde:def:
, которое возвращает что-то типа type_r, получает три аргумента x, y и z типов type1, type2 и type 3 соответственно.
Назвать это, вы говорите
class_name obj = [[class_name alloc] init];
[obj abc:x1 cde:y1 def:z1];
Это как сделать это в C++:
class_name obj = new class_name();
obj.func_name(x1, y1, z1);
Если был '+' вместо '-' в начале, это будет означает, что это метод класса, и это, как предполагается, будет называться используя только имя класса
[class_name abc:x1 cde:y1 def:z1];
во-вторых, функции не «реализованы» в файлы заголовков. Они просто «объявлены» в качестве директивы для компилятора, которые не волнуются, вы найдете реализацию этой функции во время соединения.
[self функцияA: отправитель]; или [self functionA] ;? – chancyWu
** [self функцияA] ** Ожидается, что вы получите ошибку. Если вам не нужно иметь дело с параметром, тогда вызовите метод, подобный этому ** [self functionA: nil]; ** –
@KumarKl спасибо! это исправило это! – Edu