创建每个实例的随机颜色生成器和RGB

时间:2016-02-03 09:46:52

标签: ios swift swift2

func randomCGFloat() -> CGFloat {
    return CGFloat(arc4random()) / CGFloat(UInt32.max)
}

extension UIColor
{
    static func randomColor() -> UIColor {
        let r = randomCGFloat()
        let g = randomCGFloat()
        let b = randomCGFloat()
        return UIColor(red: r, green: g, blue: b, alpha: 1.0)
    }

这是我用来生成随机颜色的代码。我的问题如下。一旦我调用r函数两次,我可以获得gbrandomColor()参数吗?例如

`randomColor()` ->>> call
print the r,g,b
`randomColor()` ->>> call
print the r,g,b

由于它是一个随机数生成器,以产生随机颜色,我担心每次我将尝试访问函数内的其中一个变量我会得到不同的结果,因为一旦它将被召回(?)。帮助将不胜感激。如果有不同的方法随时使用它。

2 个答案:

答案 0 :(得分:1)

不会被召回。将变量指定为randomCGFloat后,它将被锁定。读取该值不会再次随机化。唯一可以将它随机化的是调用再次说r = randomCGFloat()。

要打印,只需像往常一样打印。在您返回UIColor代码行之前,可能会println(NSString("RGB: %.2f %.2f %.2f", r, g, b))

func randomCGFloat() -> CGFloat {
    return CGFloat(arc4random()) / CGFloat(UInt32.max)
}

extension UIColor
{
    static func randomColor() -> UIColor {
        let r = randomCGFloat()
        let g = randomCGFloat()
        let b = randomCGFloat()
        println(NSString("RGB: %.2f %.2f %.2f", r, g, b))
        return UIColor(red: r, green: g, blue: b, alpha: 1.0)
    }

答案 1 :(得分:1)

您可以使用标准declare val_name varchar2(30) := 'fred'; ta_tab varchar2(30) := 'bob'; begin insert into some_table (id, vname, tname, accnt_id, row_id) select abc.nextval, val_name vname, ta_tab tname, accnt_id, rowid from emp; end; / 方法UIColor

getRed(_, green:, blue:, alpha:)