Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Objective-C:将浮点值调整为0-1的方法的名称_Iphone_Objective C_Naming Conventions_Method Names - Fatal编程技术网

Iphone Objective-C:将浮点值调整为0-1的方法的名称

Iphone Objective-C:将浮点值调整为0-1的方法的名称,iphone,objective-c,naming-conventions,method-names,Iphone,Objective C,Naming Conventions,Method Names,我创建了以下方法来安全地使用rate。 (有时,速率可能会变成无效值,如无穷大、NAN或0-1之外的值) 我还使用它从速率计算currentTime: currentTime = [objectOrClass XXXX:rate] * totalTime; 我想这对你会有帮助。我对objective-c不熟悉。所以我还不擅长它的命名规则。与其他语言中的名称相同-指定此算法的用户会如何称呼它?-(double)returnRate:(double)rate@Mark在另一种语言中,方法名是动词+

我创建了以下方法来安全地使用rate。
(有时,速率可能会变成无效值,如无穷大、NAN或0-1之外的值)

我还使用它从速率计算currentTime:

currentTime = [objectOrClass XXXX:rate] * totalTime;

我想这对你会有帮助。

我对objective-c不熟悉。所以我还不擅长它的命名规则。与其他语言中的名称相同-指定此算法的用户会如何称呼它?-(double)returnRate:(double)rate@Mark在另一种语言中,方法名是动词+名词。但是在objective-c中,方法名是
名词
,没有
动词
,比如
stringWithFormat
imageNamed
。所以,
-(double)rate:(double)rate
是objective-c的好名字吗?这可能更合适。我想你还没有理解这个问题。谢谢。我不知道
静态内联
。我测试了这个功能,它正常工作了。我喜欢短代码。但是
MAX(.0f,NAN)返回0.0
但是
MAX(NAN,.0f)返回NAN
。可以安全地假设
MAX(.0f,NAN)返回0.0
。还是依赖于实现?
rate = [objectOrClass XXXX: currentTime / totalTime];
rate = [objectOrClass XXXX:(currentTime + additionalTime) / totalTime];
currentTime = [objectOrClass XXXX:rate] * totalTime;
-(double) adjustRate:(double)rate;
static inline float RateAligned(float rate) {
    return MAX(.0f, MIN(1.0f, rate));
}
When totalTime is zero  you will get INFINITY.

When totalTime and currentTime both are zeros you will get NAN.

When (currentTime + additionalTime) and currentTime both are zeros you will get NAN.