2016-12-03 29 views
0

我已經創建了一個執行一系列項目的按鈕(並非全部顯示在此代碼片段中以保持簡短)。如果我的NSString(points)大於96,我想要取消按鈕動作。 E.g.任何通過點擊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語句:

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