有时类别方法在UIImagePickerController之后返回nil

时间:2014-02-20 16:40:54

标签: ios uiimagepickercontroller categories uicolor

我使用简单的UIColor类别作为随机颜色。

+ (UIColor *)randomColor {
    return [UIColor colorWithRed:arc4random_uniform(255)/255.0
                       green:arc4random_uniform(255)/255.0
                        blue:arc4random_uniform(255)/255.0
                       alpha:1.0];
}

我在viewDidAppear:方法中测试了这段代码。

Method method = class_getClassMethod([UIColor class], @selector(randomColor));
NSLog(@"color=%@, method=%d", [UIColor randomColor], (method != NULL));
UIColor * color = [UIColor colorWithRed:arc4random_uniform(255)/255.0
                    green:arc4random_uniform(255)/255.0
                     blue:arc4random_uniform(255)/255.0
                    alpha:1.0];
NSLog(@"color=%@", color);

第一次出现viewC时,效果非常好。

color=UIDeviceRGBColorSpace 0.0509804 0.0862745 0.160784 1, method=1
color=UIDeviceRGBColorSpace 0.784314 0.509804 0.964706 1

但是在我呈现UIPickerImageController并取消它之后, 它显示了不同的结果。

color=(null), method=1
color=UIDeviceRGBColorSpace 0.254902 0.576471 0.937255 1

为什么会出现这种情况? 这真的很奇怪。 :(

0 个答案:

没有答案