SAActionBlocks 0.0.4

SAActionBlocks 0.0.4

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Toby Herbert 维护。



SAActionBlocks 是在指定的(NSTimeInterval)延迟后执行的代码块。

示例

比如,您想在延迟一秒后执行以下方法

- (void)myGreatMethodWithValue:(id)value1 andAlternateValue:(id)value2;

您可以使用内置的 performSelector:withObject:afterDelay: 方法。然而,我们希望能够指定多个参数。使用 SAActionBlocks 可实现这一点。

[SAActionBlocks performBlockAfterDelay:1.0 block:^{
    [self myGreatMethodWithValue:value1 andAlternateValue:value2];
}];

此示例在指定的延迟后,在主线程上执行方法。但是,您也可以使用以下方式在后台线程上运行方法

[SAActionBlocks performBlockOnUniqueBackgroundQueueAfterDelay:1.0 block:^{
    [self myGreatMethodWithValue:value1 andAlternateValue:value2];
}];

您还可以指定一个 NSOperationQueue,将方法执行在该队列上

[SAActionBlocks performBlockOnQueue:customQueue afterDelay:1.0 block:^{
    [self myGreatMethodWithValue:value1 andAlternateValue:value2];
}];

由于这些 performBlock 方法接收一个 block 参数,因此您可以在延迟后运行任何代码!

[SAActionBlocks performBlockAfterDelay:1.0 block:^{
    NSString *constantValue = @"Hello World";
    for (NSString *value in self.allValues) {
        [self myGreatMethodWithValue:value andAlternateValue:constantValue];
    }
}];
最后一件事...

您还可以在 Grand Central Dispatch (GCD) 队列上运行代码块

[SAActionBlocks performBlockOnGCDQueue:gcdQueue afterDelay:1.0 block:^{
    [self myGreatMethodWithValue:value1 andAlternateValue:value2];
}];

甚至在一个 NSThread

[SAActionBlocks performBlockOnThread:myThread afterDelay:1.0 block:^{
    [self myGreatMethodWithValue:value1 andAlternateValue:value2];
}];

文档

关于 SAActionBlocks 的文档可以在 Wiki 上查看。

捐赠

此代码可免费使用和重新分发在您的应用程序中。

如果您喜欢的话,可以向以下地址之一发送小额捐赠

1TobyaXFetqBigGb7zRrLbMXLzUnsrrQA (BTC)

LfFBPhH5NsVTR2KqRP67RVDPPcExLZLyKQ (LTC)