Objective c 目标C:协议(委托)和多个参数?

Objective c 目标C:协议(委托)和多个参数?,objective-c,ios,xcode,Objective C,Ios,Xcode,我是Objective C(iOS)的新手,我很难理解这种神秘的语言 我用一个参数制定协议(委托)没有问题 第h人: FirstViewController.m: 但我无法用两个参数来计算…… 第h人: FirstViewController.m: 我犯了不少错误——知道哪里出了问题吗 万分感谢 Mojo是的,删除GetName方法中的分号是的,删除GetName方法中的分号你有一个太多(在名称之后)。应该是: -(void) GetName:(NSString *) name getAge:(

我是Objective C(iOS)的新手,我很难理解这种神秘的语言

我用一个参数制定协议(委托)没有问题

第h人:

FirstViewController.m:

但我无法用两个参数来计算……

第h人:

FirstViewController.m:

我犯了不少错误——知道哪里出了问题吗

万分感谢


Mojo

是的,删除GetName方法中的分号

是的,删除GetName方法中的分号

你有一个
太多(在
名称
之后)。应该是:

-(void) GetName:(NSString *) name getAge:(int) age;
使编译器认为方法的声明已完成,并且方法名为
GetName:
。如果删除
,它被正确地解析为
GetName:getAge:


编辑:将
(int*)
更改为
(int)

您有一个
太多(在
名称
之后)。应该是:

-(void) GetName:(NSString *) name getAge:(int) age;
使编译器认为方法的声明已完成,并且方法名为
GetName:
。如果删除
,它被正确地解析为
GetName:getAge:

编辑:将
(int*)
更改为
(int)

  • 删除
    名称
    后的分号(
  • 删除
    (int*)年龄中的星号(
    *
    )。它还可能引发错误 您的代码应该如下所示:

    -(void) GetName:(NSString *) name getAge:(int) age;
    
  • 删除
    名称
    后的分号(
  • 删除
    (int*)年龄中的星号(
    *
    )。它还可能引发错误 您的代码应该如下所示:

    -(void) GetName:(NSString *) name getAge:(int) age;
    

    如果你有相当多的错误,那么,好好阅读它们,试着找出它们的意思。如果你有错误,想问一个问题,最好是复制并粘贴至少前几个错误,并告诉它们发生在哪里。这使得回答这样一个问题变得容易多了。方法应该以小写字母开头,你不应该在非常罕见的情况下(这不是其中之一)命名一个以
    get
    开头的方法。如果你遇到了相当多的错误,那么我们就阅读它们,并尝试找出它们的含义。如果你有错误,想问一个问题,最好是复制并粘贴至少前几个错误,并告诉它们发生在哪里。这使得回答这样一个问题变得容易多了。方法应该以小写字母开头,你不应该在非常罕见的情况下(这不是其中之一)命名以
    get
    开头的方法。非常感谢!我很难理解目标C背后的逻辑。再次感谢!)IME,Objective-C是一种后天习得的口味,也就是说,它需要一些习惯,比如咖啡或啤酒(没有人第一次喜欢它们),但一旦你开始了解它,它就会上瘾。万分感谢!我很难理解目标C背后的逻辑。再次感谢!)IME,Objective-C是一种后天习得的口味,也就是说,它需要一些习惯,比如咖啡或啤酒(没有人第一次喜欢它们),但一旦你开始了解它,它就会上瘾。谢谢你在这里帮助我!:)谢谢你在这里帮助我!:)
    - (void) FireUpDelegate {
        [self.delegate GetName: @"Michael"; getAge: 49];
    }
    
    - (void) GetName: (NSString *) name getAge: (int) age {
        NSLog(@"%@ .. %i", name, age);    
    }
    
    -(void) GetName:(NSString *) name getAge:(int) age;
    
    -(void) GetName:(NSString *) name getAge:(int) age;