gpt4 book ai didi

iphone - 为什么这个关于 UIColor WhiteColor 的语句评估结果为 false?

转载 作者:行者123 更新时间:2023-12-03 20:35:49 26 4
gpt4 key购买 nike

只是测试一些东西......我试图让我的 View 的背景颜色在摇动它时切换......但前提是它当前是某种颜色。

-(void)viewDidLoad{    
self.view.backgroundColor = [UIColor whiteColor];
}


-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if(event.subtype == UIEventSubtypeMotionShake)
{
[self switchBackground];
}
}


-(void)switchBackground{
//I can't get the if statement below to evaluate to true - UIColor whiteColor is
// returning something I don't understand or maybe self.view.backgroundColor
//is not the right property to be referencing?

if (self.view.backgroundColor == [UIColor whiteColor]){

self.view.backgroundColor = [UIColor blackColor];
}
}

最佳答案

您在这里比较的是指针,而不是颜色值。使用 -isEqual 方法进行对象比较:

if ([self.view.backgroundColor isEqual:[UIColor whiteColor]])
...

请注意, View 的 backgroundColor 属性是使用复制属性定义的,因此它不会保留指向颜色对象的指针。但是,下面的简单示例将起作用:

UIColor* white1 = [UIColor whiteColor];
if (white1 == [UIColor whiteColor])
DLogFunction(@"White"); // Prints

关于iphone - 为什么这个关于 UIColor WhiteColor 的语句评估结果为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com