jjzjj

DISPATCH

全部标签

ios - iOS中如何从服务器异步获取数据并在收到数据后更新UI?

在我的iOS应用程序中,我试图从服务器获取数据。我想异步执行此操作。我正在尝试这个:-(void)loadData{dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{/**codeforfetchingdata.**/dispatch_async(dispatch_get_main_queue(),^{myList=[NSMutableArrayarrayWithObjects:fetchedData,nil];});});}上述方法loadData()是从tableViewCon

ios - 在私有(private)队列上运行任务并返回回调

我的方法在私有(private)队列中运行代码,完成后将调用传入的回调。是否需要检查传入的回调是否打算从主队列运行?例如-(void)doSomethingWithCalback:(void(^)())callback{dispatch_async(self.privateQueue,^{//ShouldImakesurethisgetsdispatched//toamainthreadifitwaspassedinfromamainthread?if(callback)callback();});}我应该做如下的事情吗:-(void)doSomethingWithCalback:(v

ios - 了解 dispatch_sync 例程

这个问题在这里已经有了答案:Whyisthisdispatch_sync()callfreezing?(2个答案)Howtousebackgroundthreadinswift?(17个答案)关闭6年前。我正在学习GCD。请考虑以下代码:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"Helloworld");});/*Anot

ios - Xcode 8 中的 TCP_CONNECTION_EVENT_DISCONNECTED

当我在Xcode8中运行我的项目时收到以下错误消息:TCP_CONNECTION_EVENT_DISCONNECTEDinresponsetostatefailedanderrorErrorDomain=kNWErrorDomainPOSIXCode=61"Connectionrefused"UserInfo={NSDescription=Connectionrefused}这是导致这个问题的代码:@implementationUIImageView(LoadAsyn)+(void)loadFromURL:(NSURL*)urlcallback:(void(^)(UIImage*ima

ios - 在后台线程中下载多个文件?

我是一次下载一个文件,一个一个地下载,或者只根据用户要求下载一个文件。下载文件后,我将通知发送到另一个View作为成功消息。当我一次下载一个文件时,它正在成功下载该文件。但是当我试图在6秒的时间间隔内下载两个或更多文件时(按下另一个下载按钮),第一个文件没有下载。它只下载我发送下载的最后一个文件。如有任何帮助,我们将不胜感激。url=[NSURLURLWithString:currentURL];NSMutableURLRequest*request=[[NSMutableURLRequestalloc]initWithURL:url];[requestsetHTTPMethod:@"

ios - 为什么我不能停止 dispatch_async 串行队列中的计时器?

这只是一个实验代码,但我很困惑,因为代码没有按我预期的那样执行。代码如下:-(void)viewDidLoad{[superviewDidLoad];self.myQueue=dispatch_queue_create("com.maxwell.timer",NULL);dispatch_async(self.myQueue,^{self.timer=[NSTimertimerWithTimeInterval:1repeats:YESblock:^(NSTimer*_Nonnulltimer){NSLog(@"Hey!");}];[[NSRunLoopcurrentRunLoop]ad

ios - 线程 NSStream

我有一个连续打开的TCP连接,用于与外部设备通信。通信管道中发生了很多事情,导致UI有时变得无响应。我想将通信放在一个单独的线程中。我了解detachNewThread以及它如何调用@selector。我的问题是我不确定如何将它与类似NSStream?的东西结合使用 最佳答案 您可能更愿意使用GrandCentralDispatch('GCD'),而不是手动创建线程和管理线程安全问题。这允许您发布block——它们是代码包和一些状态——在远离主线程和操作系统认为最合适的任何地方执行。如果您创建一个串行调度队列,您甚至可以确定,如果您

ios - 如何正确多线程? UIAlertView 不显示,只有灰屏

我已经在我的项目中实现了textToSpeech,并希望在朗读文本时显示警报View。我在这里调用textToSpeech的方法://-----beforeTTSstartsitrytodisplayalertViewwithCancelbutton//[selfperformSelectorOnMainThread:@selector(alertWhileTTS)withObject:nilwaitUntilDone:YES];//grayviewandnoalertview//[selfperformSelector:@selector(alertWhileTTS)];//gray

ios - 如何在执行冗长操作时隐藏 UIPopoverController?

从弹出Controller中选择一个选项后,代理会被告知已做出选择。我想关闭弹出窗口,将其从屏幕上移除,并向用户显示一个事件指示器。不幸的是,dismissPopover下面的代码在弹出窗口实际消失之前运行,导致长时间等待,但似乎没有任何事情发生。-(void)itemSelected:(int)option{[popControllerdismissPopoverAnimated:YES];activityIndicator.hidden=NO;[activityIndicatorstartAnimating];switch(option){case0://Dosomethingth

objective-c - 为什么这个 UIButton/IBAction 不刷新我的页面?

当我加载主视图时,它会自动加载包含博客文章的JSON提要。我的主视图顶部栏上有一个刷新按钮。我已经成功地将它连接到IBAction并且在单击时,我可以输出一个字符串来记录。我试图让我的View在单击刷新按钮时重新加载JSON提要,但这不起作用。我做错了什么?我的ViewController.h#import@interfaceViewController:UICollectionViewController{NSArray*posts;}-(void)fetchPosts;-(IBAction)refresh:(id)sender;@end我的ViewController.m...-(