2013年5月10日 星期五

Blocks part.2

這篇講怎樣自己做一個Blocks, 很簡單沒幾段程式碼, 但是這功能非常powerful~
- (IBAction)btnTapped:(id)sender {
 int a = abs(arc4random());
 NSLog(@"%d", a);
 [self doSomething:a
     completion:^(BOOL finished) {
      if (finished) {
       NSLog(@"奇數");
      }
      else {
       NSLog(@"偶數");
      }
     }
  ];
}
隨機生成一個int, 數字會先顯示在Console, 然後丟到自定的函式去判斷機偶數, 然後等Blocks返回顯示是奇數還是偶數

- (void)doSomething:(int)integer completion:(void (^)(BOOL finished))completion {
 [NSThread sleepForTimeInterval:3.0];
 
 if (integer%2) {
  completion(YES);
 }
 else {
  completion(NO);
 }
}
這邊就有用到Blocks, 一開始進入函式時先停止3秒, 然後將傳入的整數做mod運算並返回

沒有留言:

張貼留言