php - Objective-C 默认参数值

标签 php objective-c function class methods

嘿,这里是快速问题。我相信有一个简单的答案。

来自 PHP,我习惯于用这样的默认参数值声明一个函数:

function myFunction ($array, $sort = FALSE)  {

}

如果未填充排序参数,函数将继续使用默认值 false。在Obj-C中,有没有类似的东西?

我正在完成我的“在 Objective-C 2.0 中编程”一书中的练习,它希望我重写一个分数类打印函数以默认不减少分数,但如果值为 TRUE reduce 给出,继续减少分数,然后打印。本章(书中也没有任何地方)提供了这方面的任何信息。

谢谢你们的帮助 :D

最佳答案

Objective-C 本身不存在默认参数。他们不能真的,因为参数计数与方法名称密不可分——每个冒号对应一个参数。

不过,Objective-C 程序员通过创建“方便”的方法来实现类似的目标,这些方法只调用更“原始”的方法,其中一些参数填充有默认值。例如,-[NSArray indexOfObject:] 可以实现为 -[NSArray indexOfObject:inRange:] 的版本,参数为 NSMakeRange(0, [self count]) 用于 inRange: 部分。

不过,在这种情况下,我不认为您的书在谈论那个。我认为这只是意味着如果为 reduce: 参数给出 YES 则减少分数,如果给出 NO 则不减少它。

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

相关文章:

objective-c - 停止网页 View 反弹显示错误

css - 根据类设置 SASS 变量

string - 如何检查 MutableList 的元素或字符串输入是否为数字?

excel - 如何从 VBA 函数返回结果

php - Xcode解析php返回的json错误

PHP - 从不同的文件格式 Word/Excel/Powerpoint/PDF/RTF 中提取文本

objective-c - 相当于 Cocoa 中面板的 setLevel 吗?

php - Android App无法访问Vagrant Homestead托管的Web API

php - 在php中为多个列分配多个变量

ios - 以编程方式嵌入 UIViewController?