【问题标题】:Method overloading in objective c [duplicate]目标c中的方法重载[重复]
【发布时间】:2013-12-16 07:43:23
【问题描述】:

我在 stackoverflow 上看到了很多答案。所有答案都说在目标 c 中方法重载是不可能的。但目前我已经做了一个真实的例子,所以它对我有用。所以我完全糊涂了。可能是我错了,但根据java概念我是对的。所以任何人都让我更清楚,任何帮助都会非常感激。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    [self show];
    [self show:@"Foo......"];
}

- (void)show
{
    NSLog(@"Show");
}

- (void)show:(NSString *)str
{
    NSLog(@"Str %@",str);
}

输出

显示

Str Foo……

【问题讨论】:

  • 我见过这个,但我不清楚。但是anoop很清楚我的概念

标签: objective-c


【解决方案1】:

在 C++ 中,您可以使用 int add(int, int) 和 int add(int, int, int) 来执行此操作。两种方法同名add

但是在 Obj-C 中,您的选择器包含另一个名称为 add:first:withSecond: 和 add:first:withSecond:withThird:,这两个方法都有不同的名称,不是吗?

所以这里你的方法名(选择器)被改变了。

【讨论】:

  • 非常感谢。我明白了...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多