[英]How to filter UIColor object in NSMutableArray
我正在生成随机颜色并像这样存储在NSmutableArray
for(int i=0; i<1000; i++) {
UIColor *c = [self colorGen];
[_cArray addObject:c];
}
我要检查每一个我增添色彩阵列时间它不是重复,我如何应用谓词_cArray
通过检查色彩还原[self colorGen]
方法是不是已经存在_cArray
,例如_cArray
已经包含后红色10迭代[self colorGen]
再次返回红色,因此如何避免再次将其添加到数组中。
for(int i=0; i<1000; i++) {
UIColor *c = [self colorGen];
if (![_cArray containsObject:c]) {
[_cArray addObject:c];
}
}
请使用此代码
NSMutableSet *colors = [NSMutableSet set];
while (colors.count < 1000) {
[colors addObject:[self colorGen]];
}
比较UIColor
对象的方式的示例代码:
NSMutableSet *colors = [NSMutableSet set];
UIColor *color1 = [UIColor colorWithRed:0.1 green:0.2 blue:0.3 alpha:1];
UIColor *color2 = [UIColor colorWithRed:0.1 green:0.2 blue:0.3 alpha:1];
[colors addObjectsFromArray:@[color1, color2]];
NSLog(@"%lu", (unsigned long)colors.count);
此代码打印1,指示两种颜色均被视为相等!
你可以做,
for(int i=0; i<1000; i++) {
UIColor *c = [self colorGen];
if (![_cArray containsObject:c] ) {
[_cArray addObject:c];
}
else{
NSLog(@"already there");
}
}
方法colorGen的更改应返回UIColor的十六进制值
for(int i=0; i<1000; ) {
NSString *strCode = [self colorGen];
if (![_cArray containsObject:strCode] ) {
[_cArray addObject:strCode];
i++;
}
else{
NSLog(@"already there");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.