繁体   English   中英

iOS-取消UIButton操作

[英]iOS - Cancel UIButton action if

我创建了一个执行一系列项目的按钮(为了简短起见,该代码段中并未全部显示)。 如果我的NSString(点)大于96,我希望取消按钮操作。 例如,通过点击sendMessage按钮执行的所有操作均应完全停止。 我现在正在使用以下代码,它似乎并没有阻止操作完成。 知道为什么会这样吗?

ViewController.h

- (IBAction)sendMessage:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *sendMessage;

ViewController.m

     - (IBAction)sendMessage:(id)sender {

            NSString *points;

            if (hour <= 1) {

                points = @"300";


            } else if (hour > 1 && hour < 9) {

                points = @"600";


            } else if (hour <= 9) {

                points = @"1000";

            } else if (hour < 9 && hour < 24) {

                points = @"1000";


            } else if (hour <= 48) {

                points = @"2000";

            } else if (hour > 48 && hour <= 72) {

                points = @"3000";

            } else if (hour > 72 && hour <= 96) {

                points = @"4000";

            } else if (hour > 96) {

                points = @"5000";

               self.sendMessage.enabled = NO;

              self.exceedsFive.hidden = NO;

            }

 [DIOSNode nodeSave:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {


            [self dismissViewControllerAnimated:YES completion:nil];


        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"Node did not save!");
        }];



    }

if (hour > 96) ,则不希望执行DIOSNode Block。

然后,执行此操作,添加一个return

else if (hour > 96) {

    points = @"5000";

    self.sendMessage.enabled = NO;

    return;
}

添加一条if语句:

If (points < 500) {
 [DIOSNode nodeSave:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {


            [self dismissViewControllerAnimated:YES completion:nil];


        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"Node did not save!");
        }];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM