草庐IT

action_dispatch

全部标签

ios - dispatch_async 是否复制内部 block

给定以下(手动引用计数):void(^block)(void)=^{NSLog(@"wuttup");}void(^async_block)(void)=^{block();}dispatch_async(dispatch_get_main_queue(),async_block);“block”会被复制而不是从堆栈中扔掉并销毁吗? 最佳答案 我相信,答案是肯定的。外部block将被异步调度,这会导致运行时在堆上为该block制作一个副本。如下所示,并在BlockImplementationSpecification-Clang3.

ios - dispatch_async 和异步请求的问题

那么第一个问题就是dispatch_async是如何决定使用哪个线程的呢?只是随机选择它?我需要做一些解析和核心数据的事情,所以我不想阻塞UI线程并使用dispatch_async,但在那之后我发送一个NSURLRequest来获取更多数据和回调永远不会被调用(可能是因为线程已经死了)。那么制作它的好方法是什么?而且我不能使用sendAsynchronousRequest:queue:completionHandler:因为部署操作系统是4.现在我只是在里面发送请求dispatch_async(dispatch_get_main_queue(),^{});在dispatch_async

ios - 如何暂停 dispatch_queue_t 及其创建的队列

我正在创建一个程序,除其他功能外,它还可以淡入和淡出音乐。问题是其他线程/队列可以暂停音乐,这意味着淡入和淡出不仅需要暂停,还需要推迟。我需要能够在dispatch_after上暂停“计时器”(因为当音乐开始播放时会调用它以告诉它何时开始淡出,如果暂停则需要延迟)并暂停队列本身(为了在淡入或淡出时暂停淡入或淡出)这是代码(fadeIn和delayFadeOut都在程序开始时被调用):-(void)doFadeIn:(float)incrimentto:(int)volumewith:(AVAudioPlayer*)thisplayeron:(dispatch_queue_t)queue

ios - Objective-C 中的 Grand Central Dispatch 保证了哪些行为?

我认为提出这个问题的最佳方式是使用一些代码://Mainmethodfor(inti=0;i这样的话,能保证0-9的数字会按顺序打印出来吗?是否有可能跳过在运行队列中等待的线程之一?现实中又怎样。实际上,这会发生吗?如果我想要上面的行为(仍然使用线程)怎么办?我怎样才能做到这一点? 最佳答案 Inthiscase,isitguaranteedthatthenumbers0-9willbeprintedoutinorder?没有。Isthereeverachancethatoneofthethreadsthatiswaitingont

ios - 在 IOS 中以编程方式设置 Action 监听器

您好,我以编程方式创建了一个按钮。我会将此按钮添加到导航栏。现在我想给它添加一个TouchUpInsideAction监听器。我该怎么做?谢谢。 最佳答案 UIButton是UIControl的子类。创建按钮后,您需要做的就是设置按钮的目标和Action。即//Createyourbutton:UIButton*button=//Howeveryoucreateyourbutton//Setthetarget,actionandeventforthebutton[buttonaddTarget://theobjectthatimpl

ios - Xcode 断点在 dispatch_async block 内不起作用

我们的团队非常需要一些帮助来解决我们面临的以下问题,因为它阻止我们调试dispatch_asyncblock中的某些代码。希望我能得到一些关于下一步该做什么的帮助或建议。我们遇到的问题如下:我们最近遇到了一个奇怪的问题,在Xcode6中,我们无法在dispatch_asyncblock内中断。-(void)viewDidLoad{dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0ul);dispatch_async(queue,^{BOOLsetRtn=TRUE;//发生的情况是,

ios - GCD DISPATCH_QUEUE_SERIAL 它将以什么优先级运行?

我试图了解将使用什么优先级来运行在声明为以下的自定义串行队列上调度的调度block:dispatch_queue_tqueue=dispatch_queue_create("com.purposeOfQueue.queue",DISPATCH_QUEUE_SERIAL);所以,在这里,我只是说“队列”是一个串行队列。但是,系统将为此队列使用什么优先级。我知道有HIGH、DEFAULT、LOW、BACKGROUND。我也知道我可以这样做:dispatch_set_target_queue(queue,DISPATCH_QUEUE_PRIORITY_DEFAULT);这将使队列获得默认优先

ios - dispatch_after 和 [UIView 动画 : duration] happen immediately (but shouldn't)

在iOS7中,我们遇到了间歇性错误。iOS6没有发生这种情况。它不会立即开始,但进入游戏约30秒到约2分钟后,所有动画和dispatch_after命令都会立即发生。更具体地说,动画正在发生,就好像“持续时间:”值是0,即使它绝对不是0。更具体地说,dispatch_after就像wait=0一样发生。一旦启动,它就会一直存在,直到软件终止。我不知道如何调试它,或者它是否是iOS7错误。任何想法/帮助将不胜感激! 最佳答案 问题是您认为您的完成block被过早调用了吗?如果是这样,您是否检查过传递到完成block中的bool值的值?

iOS - 错误 : This action could not be completed. 再试一次 (-22421)

我正在尝试使用Xcode>>Organizer将iOS应用程序上传到AppStore,但遇到无法完成此操作的问题。再试一次(-22421),如下图所示。我多次尝试重新上传应用程序,但出现相同的错误这是我遇到的问题的快照:接下来要做什么?如何在商店中成功上传我的应用程序?尝试使用ApplicationLoader应用程序,现在出现另一个错误ErrorITMS-90168:"Thebinaryyouuploadedwasinvalid. 最佳答案 使用ApplicationLoader上传您的应用程序,因为XcodeOrganizer有

ios - 无法在 iOS 上获取 Facebook publish_action 权限

我已经为此花费了几个小时,但无法让它发挥作用。基本上我只想要我的应用程序中的一个按钮,它会在Facebook上“喜欢”自己。我已经在devFacebook上创建了该应用程序,并且有一个关联的应用程序页面。在我的代码中,我请求这些权限:_permissions=[NSArrayarrayWithObjects:@"publish_stream",@"publish_actions",@"user_birthday",nil];我可以很好地检索个人资料图片,但是当我尝试使用此代码“喜欢”时:NSMutableDictionary*params=[NSMutableDictionarydic