具有默认参数的Objective-C函数?

标签 objective-c function parameters default-value

Possible Duplicates:
Optional arguments in Objective-C 2.0?
Objective-C Default Argument Value

我正在用 Objective-C 编写一个 C 函数。我想为我的最后一个参数设置一个 默认值

我试过了:

foo(int a, int b, int c = 0);

但那是 C++。

我也试过了:

foo(int a, int b, int c)
{
    ...
}

foo(int a, int b)
{
   foo(a, b, 0);
}

但这也是 C++。

有没有办法在 Objective-C 中做到这一点?

最佳答案

ObjC 中没有默认参数。

您可以创建 2 个方法:

-(void)fooWithA:(int)a b:(int)b c:(int)c {
  ...
}
-(void)fooWithA:(int)a b:(int)b {
  [self fooWithA:a b:b c:0];
}

对于 C :使用 ObjC 没有什么特别的添加到 C 子集中。在纯 C 中无法完成的任何事情也无法通过在 ObjC 中编译来完成。这意味着,您不能有默认参数,也不能重载函数。改为创建 2 个函数。

关于具有默认参数的Objective-C函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2436070/

相关文章:

objective-c - OSX 10.10.3 在 dealloc 上使 WebView 崩溃

c++ - 我想存储指向函数的空指针及其类型

R sapply is.factor

C将int数组指针作为参数传递给函数

c++ - 如何在 Objective-C 中使用初始化列表

objective-c - XCTest:[UIApplication sharedApplication] 返回 nil

objective-c - 如何在 View 加载时显示 map View 标注

javascript - 为什么我的按钮上的功能不起作用?

Angular 5 ParamMap 不适用于 app.component.ts

.htaccess - PHP - Htaccess - 在 1 个掩码中比较两个 URL,禁用一个