小编Egi*_*gil的帖子

GCD在主线程中执行任务

我有一个可能来自任何线程的回调.当我得到这个回调,然后我想在主线程上执行某个任务.

我是否需要检查我是否已经在主线程上 - 或者是否因为没有执行此检查而遭受任何惩罚?请调用下面的代码?

dispatch_async(dispatch_get_main_queue(), ^{
   // do work here
});
Run Code Online (Sandbox Code Playgroud)

objective-c grand-central-dispatch

228
推荐指数
3
解决办法
11万
查看次数

检查AVPlayer的播放状态

有没有办法知道AVPlayer播放是否已经停止或到达终点?

iphone objective-c avfoundation ios avplayer

102
推荐指数
11
解决办法
9万
查看次数

获取调用方法的对象

如果我在这样的随机类中有一个调用:

@implementation SomeClass

- (void) classMethodFoo
{
    int a = [SomeSingleton sharedInstance].aValue;
}

@end
Run Code Online (Sandbox Code Playgroud)

在里面SomeSingleton sharedInstance,有没有办法获得对调用此方法的对象的引用(当然没有调用传递self作为参数)?

objective-c objective-c-runtime

7
推荐指数
1
解决办法
1019
查看次数

取消在线程中工作的GCD块

我有以下块在后台执行请求.
如何在完成之前取消此请求?

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(queue, ^{
        NSData *thumbnailData = [NSURLConnection sendSynchronousRequest:request];
        ...
    });
Run Code Online (Sandbox Code Playgroud)

iphone objective-c grand-central-dispatch

0
推荐指数
2
解决办法
5057
查看次数