2016-12-03 2 views
0

Я создал кнопку, которая выполняет ряд элементов (не все показано в этом фрагменте кода, чтобы сохранить его кратким). Если мой NSString (точки) больше 96, я хочу, чтобы действие кнопки было отменено. . Все, что выполняется нажатием кнопки sendMessage, должно полностью прекратиться. Теперь я использую код ниже, и он, похоже, не прекращает действие. Любая идея, почему это может быть?iOS - Отменить действие UIButton, если

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!"); 
     }]; 



    } 
+0

если 'если (час> 96)' вы не хотите DIOSNode блока должна быть выполнена прямо ? –

+0

@ Mr.Bista Это правильно :) – Brittany

ответ

2

if (hour > 96) вы не хотите DIOSNode блок для выполнения.

Затем сделать это, добавьте return:

else if (hour > 96) { 

    points = @"5000"; 

    self.sendMessage.enabled = NO; 

    return; 
} 
+0

Добавление возврата, похоже, вызывает у меня ошибку на этой последней скобке? – Brittany

0

Добавить, если заявление:

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!"); 
     }];