typedef void (^DelayGettingStringBlock)(NSString *str);
- (void)delayGettingString:(DelayGettingStringBlock)completionBlock
{
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1.0f * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {
completionBlock(@"DelayGettingStringBlock");
});
}
- (void)delayGettingStringWithString:(NSString *)str
completionHandler:(DelayGettingStringBlock)completionBlock
{
NSString *delayString = [NSString stringWithFormat:@"%@%@", str, str];
typeof(delayString) __weak wdelayString = delayString;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1.0f * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {
completionBlock(wdelayString);
});
}
- (void)delayGettingStringWithString:(NSString *)str
completionHandler:(DelayGettingStringBlock)completionBlock01
completionHandler:(DelayGettingStringBlock)completionBlock02
{
NSString *delayString01 = [NSString stringWithFormat:@"%@%@", str, str];
typeof(delayString01) __weak wdelayString01 = delayString01;
dispatch_time_t popTime01 = dispatch_time(DISPATCH_TIME_NOW, 1.0f * NSEC_PER_SEC);
dispatch_after(popTime01, dispatch_get_main_queue(), ^(void) {
completionBlock01(wdelayString01);
});
NSString *delayString02 = [NSString stringWithFormat:@"%@%@%@", str, str, str];
typeof(delayString02) __weak wdelayString02 = delayString02;
dispatch_time_t popTime02 = dispatch_time(DISPATCH_TIME_NOW, 2.0f * NSEC_PER_SEC);
dispatch_after(popTime02, dispatch_get_main_queue(), ^(void) {
completionBlock02(wdelayString02);
});
}
- (IBAction)didTouchButton:(UIButton *)sender
{
[self delayGettingStringWithString:@"abc"
completionHandler:^(NSString *str)
{
NSLog(@"%@", str);
}
completionHandler:^(NSString *str)
{
NSLog(@"%@", str);
}];
[self delayGettingString:^(NSString *str) {
NSLog(@"%@", str);
}];
[self delayGettingStringWithString:@"abc"
completionHandler:^(NSString *str) {
NSLog(@"%@", str);
}];
}
最終更新:2018年02月02日 17:14