gpt4 book ai didi

objective-c - 为什么我的图像交换不起作用?

转载 作者:行者123 更新时间:2023-11-29 04:17:27 25 4
gpt4 key购买 nike

这看起来很容易,我很尴尬。每次我触发此功能时,它都会保持在“打开”状态。它永远不会通过关闭条件。

-(void) lightbulbSwapImages
{
NSImage *bulbOn = [NSImage imageNamed: @"sidebar_lightbulb_on.png"];
NSImage *bulbOff = [NSImage imageNamed: @"sidebar_lightbulb_off.png"];
if (lightbulb.image = bulbOff)
[self.lightbulb setImage: bulbOn];
else
[self.lightbulb setImage: bulbOff];
}

最佳答案

= 更改为 ==

- (void)lightbulbSwapImages
{
NSImage *bulbOn = [NSImage imageNamed: @"sidebar_lightbulb_on.png"];
NSImage *bulbOff = [NSImage imageNamed: @"sidebar_lightbulb_off.png"];
if (self.lightbulb.image == bulbOff)
[self.lightbulb setImage: bulbOn];
else
[self.lightbulb setImage: bulbOff];
}

问题背后的原因:您正在做的是,尝试将 bulbOff 分配给 lightbulb.image ,并将您正在检查的结果作为条件,该条件将始终返回 true 如果lightbulb.image 不为零。因此,它永远不会执行您的 else 部分。

它相当于,

lightbulb.image = bulbOff;

if (lightbulb.image) {

顺便说一句,如果您将 @property 用于 lightbulb,请在各处使用相同的内容(包括 if 条件)以使其保持一致。在我的回答中,我已从 lightbulb.image 更改为 self.lightbulb.image

关于objective-c - 为什么我的图像交换不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484068/

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