gpt4 book ai didi

iOS UISwitch Action 被调用了两次

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:01 25 4
gpt4 key购买 nike

我的应用程序中有 UISwitch IBAction,它是:

- (IBAction)nearMeSwitchAction:(UISwitch *)sender {

if(nearMeSwitch.isOn)
[self getLocation];

[self myMethod];
}

- (void) getLocation
{
my code...
[nearMeSwitch setOn:NO animated:YES];
}

在我的 getLocation 方法中,我使用了 [nearMeSwitch setOn:NO animated:YES] 当我点击我的按钮时再次调用 nearMeSwitchAction转变。因此 myMethod 被调用了两次。我不想要那个。当我从 getLocation 关闭开关时,我不想执行 nearMeSwitchAction。有没有其他方法可以做到这一点?

最佳答案

当您更改 UISwitch 值时,您无法阻止 nearMeSwitchAction 被调用,但您可以阻止您的 myMethod 被调用。创建一个 Bool 属性,例如 isFromGetLocation,如果它是 true,则不要调用该方法。

- (IBAction)nearMeSwitchAction:(UISwitch *)sender {

if(nearMeSwitch.isOn)
[self getLocation];
if(isFromGetLocation)
//For next time
isFromGetLocation = NO;
else
[self myMethod];
}

- (void) getLocation
{
//my code...
isFromGetLocation = YES;
[nearMeSwitch setOn:NO animated:YES];
}

关于iOS UISwitch Action 被调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42344657/

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