防止一个方法调用两次

/** 用来防止两次弹出 alertVIew */
static int tostFlag = 0;

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
    
    if ((([super hitTest:point withEvent:event] == self.txtField || ([super hitTest:point withEvent:event] == self.btnFace ))&& ((![DYUserManger shareInstant].isLogin)))) {/** 未登录 */
        if (tostFlag % 2 == 0) {/** 用来防止两次弹出 alertVIew */
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"您未登录,请先登录" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"登录", nil];
            [alert showAlertViewWithCompleteBlock:^(NSInteger buttonIndex) {
                if (buttonIndex == 1) {
                    [DYUserManger showLoginViewControllerIn:[ControllerTool getCurrentShowVC] completion:^(BOOL isSucceed, NSString *message) {
                        [self hideKeyboard];
                    }];
                }
            }];
        }
        
        /** 用来防止两次弹出 alertVIew */
        tostFlag += 1;
        
        return nil;
    }
    
    if ((([super hitTest:point withEvent:event] == self.txtField || ([super hitTest:point withEvent:event] == self.btnFace ))&& (([[DYUserManger shareInstant] getUserInfo].phone_status.integerValue == 0)))) {/** 未绑定邮箱 */
        if (tostFlag % 2 == 0) {/** 用来防止两次弹出 alertVIew */
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"请先绑定手机" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
            [alert showAlertViewWithCompleteBlock:^(NSInteger buttonIndex) {
                if (buttonIndex == 1) {
                    QEHDUserInfoCenterController * contentController = [[QEHDUserInfoCenterController alloc]init];
                    QEHDNavigationController *nav = [[QEHDNavigationController alloc] initWithRootViewController:contentController];
                    nav.modalPresentationStyle = UIModalPresentationFormSheet;
                    [[ControllerTool getCurrentShowVC].navigationController presentViewController:nav animated:YES completion:nil];
                    [self hideKeyboard];
                    
                }
            }];
        }
        
        /** 用来防止两次弹出 alertVIew */
        tostFlag += 1;
        
        return nil;
    }
    return [super hitTest:point withEvent:event];
}
好的,您可以在Vue组件的methods对象中定义一个名为checkIfVoted的方法,该方法将检查用户是否已经投票并防止用户投票两次,具体步骤如下: 1. 在Vue组件的methods对象中定义一个名为checkIfVoted的方法。 2. 在该方法中,首先检查用户是否已经投票,可以使用Vue组件的data对象中的投票选择数据来判断。如果用户已经投票,则提示用户已经投票,并返回false。 3. 如果用户没有投票,则将投票选择保存到Vue组件的data对象中,并返回true。 4. 在每个投票按钮的点击事件中调用checkIfVoted方法,以检查用户是否已经投票。如果用户没有投票,则将该候选人的投票计数器加1,并将投票选择保存到Vue组件的data对象中。如果用户已经投票,则不执行任何操作。 5. 最后,在提交按钮的点击事件中调用checkIfVoted方法,以确保用户已经投票,并且每个用户只能投一次票。 下面是一个示例checkIfVoted方法的代码: ```javascript methods: { checkIfVoted(candidate) { if (this.voted) { alert('您已经投过票了!'); return false; } else { this.voted = true; this.selectedCandidate = candidate; return true; } } } ``` 在这个示例中,voted是一个布尔值类型的变量,用于跟踪用户是否已经投票。selectedCandidate是一个字符串类型的变量,用于保存用户的投票选择。该方法将返回一个布尔值,表示用户是否成功投票。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值