相关疑难解决方法(0)

Objective-C 2.0中的可选参数?

在Objective-C 2.0中,是否可以创建一个参数是可选的方法?也就是说,您可以进行如下方法调用:

[aFraction print];
Run Code Online (Sandbox Code Playgroud)

以及:

[aFraction print: someParameter];
Run Code Online (Sandbox Code Playgroud)

在同一个程序中.

Apple的Objective-C 2.0编程语言指南将Obj-C与Python进行了对比,似乎说这是不允许的.我还在学习,我想确定.如果它可能的,那么什么是语法,因为我的第二个代码示例不起作用.

更新: 好的,我刚刚制作了两个方法,都命名为"print".

-(void) print;
-(void) print: (BOOL) someSetting; 
Run Code Online (Sandbox Code Playgroud)

履行

-(void) print {
    [self print:0];
}

-(void) print: (BOOL) someSetting {
    BOOL sv;
    sv = someSetting;

    if ( sv ) {
        NSLog(@"cool stuff turned on");
    }
    else {
        NSLog(@"cool stuff turned off");
    }
}
Run Code Online (Sandbox Code Playgroud)

相关的计划行

    ...
    printParamFlag = TRUE;

// no parameter
    [aCodeHolder print];

// single parameter
    [aCodeHolder print:printParamFlag];
    ...
Run Code Online (Sandbox Code Playgroud)

我无法相信这有效.我有什么理由不这样做吗?

objective-c

52
推荐指数
4
解决办法
5万
查看次数

Objective C默认参数?

可能重复:
Objective-C 2.0中的可选参数?
Objective-C默认参数值

我正在Objective C中编写一个C函数.我想要一个我最后一个参数的默认值.

我试过了:

foo(int a, int b, int c = 0);
Run Code Online (Sandbox Code Playgroud)

但那是C++

我也试过了

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

foo(int a, int b)
{
   foo(a, b, 0);
}
Run Code Online (Sandbox Code Playgroud)

但这也是C++.

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

parameters function objective-c default-value

38
推荐指数
2
解决办法
5万
查看次数

如何为ios中的方法定义默认参数值?

可能重复:
Objective-C默认参数值

我找不到像在C++中通常那样为ios中的函数定义默认参数的方法.在iOS中可以吗?如果没有推荐的工作?

objective-c ios

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

objective-c ×3

default-value ×1

function ×1

ios ×1

parameters ×1