bas*_*ibe 2 colors objective-c
在我的构造函数中,我想创建一个随机颜色.
因此,我需要三个随机的7位浮点数,范围为0 ... 1,构成颜色的红色,绿色和蓝色分量.random() % 128 / 128.0
我把它放在一个块中,而不是写了相当长的三次:
CGFloat (^randFloat)() = ^(){ return random() % 128 / 128.0; };
color = CGColorCreateGenericRGB(randFloat(), randFloat(), randFloat(), .5);
Run Code Online (Sandbox Code Playgroud)
这是使用块的有效方法吗?
如果没有,你会用什么呢?
你要回来randFloat
吗?将randFloat
使用任何不能与附近函数分离的状态(即randFloat
闭包)?如果没有,它更具可移植性(例如,iPhone官方SDK不支持块)并且在函数之外创建静态函数是高效的:
static CGFloat randFloat() {
return random() % 128 / 128.0;
}
...
color = CGColorCreateGenericRGB(randFloat(), randFloat(), randFloat(), .5);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
124 次 |
最近记录: |