jjzjj

NSOperationQueue

全部标签

ios - 如果不在主线程上,NSAttributedString initWithData 和 NSHTMLTextDocumentType 会崩溃

打电话NSAttributedString*as=[[NSAttributedStringalloc]initWithData:[htmlStringdataUsingEncoding:NSUTF8StringEncoding]options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)}documentAttributes:nilerror:nil];在非主线程上,导致崩溃10x194b861fc

ios - 如果不在主线程上,NSAttributedString initWithData 和 NSHTMLTextDocumentType 会崩溃

打电话NSAttributedString*as=[[NSAttributedStringalloc]initWithData:[htmlStringdataUsingEncoding:NSUTF8StringEncoding]options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)}documentAttributes:nilerror:nil];在非主线程上,导致崩溃10x194b861fc

ios - 在后台 IOS 中实现长时间运行的任务

我一直在开发一个应用程序,用户可以在其中使用AVFoundation录制视频并发送到服务器,视频的最大大小可达15M,具体取决于它可以从中获取的互联网速度和类型将视频传输到服务器大约需要1到5分钟。我正在后台线程中将录制的视频传输到服务器,以便用户可以在将视频上传到服务器的同时继续应用程序上的其他内容。在阅读implementinglongrunningtasksinbackround的Apple文档时,我看到只有少数几种应用程序允许在后台执行。例如audio—Theappplaysaudiblecontenttotheuserwhileinthebackground.(Thiscon

ios - 在后台 IOS 中实现长时间运行的任务

我一直在开发一个应用程序,用户可以在其中使用AVFoundation录制视频并发送到服务器,视频的最大大小可达15M,具体取决于它可以从中获取的互联网速度和类型将视频传输到服务器大约需要1到5分钟。我正在后台线程中将录制的视频传输到服务器,以便用户可以在将视频上传到服务器的同时继续应用程序上的其他内容。在阅读implementinglongrunningtasksinbackround的Apple文档时,我看到只有少数几种应用程序允许在后台执行。例如audio—Theappplaysaudiblecontenttotheuserwhileinthebackground.(Thiscon

ios - 有没有办法像这样向 NSOperationQueue 添加 block

我正在尝试理解NSOperationQueue,并尝试创建尽可能简单的示例。我有以下内容:NSOperationQueue*myOQ=[[NSOperationQueuealloc]init];[myOQaddOperationWithBlock:^(void){NSLog(@"hereissomethingforjt2");}];[myOQaddOperationWithBlock:^(void){NSLog(@"ohisthisgoingtowork2");}];但是想这样做:void(^jt)()=^void(){NSLog(@"hereissomethingforjt");};

ios - 有没有办法像这样向 NSOperationQueue 添加 block

我正在尝试理解NSOperationQueue,并尝试创建尽可能简单的示例。我有以下内容:NSOperationQueue*myOQ=[[NSOperationQueuealloc]init];[myOQaddOperationWithBlock:^(void){NSLog(@"hereissomethingforjt2");}];[myOQaddOperationWithBlock:^(void){NSLog(@"ohisthisgoingtowork2");}];但是想这样做:void(^jt)()=^void(){NSLog(@"hereissomethingforjt");};

ios - 等效于 iOS 3.x 中的 GCD 串行调度队列

Apple的GrandCentralDispatch(GCD)很棒,但只能在iOS4.0或更高版本上运行。苹果的documentation说,“[A]序列化操作队列不提供与GrandCentralDispatch中的串行调度队列完全相同的行为”(因为队列不是FIFO,但顺序由依赖性和优先级决定)。在支持GCD发布之前的OS版本的同时,如何实现与GCD的串行调度队列相同的效果的正确方法是什么?或者换句话说,在希望支持低于4.0版本的iOS应用程序中处理简单后台处理(执行Web服务请求等)的推荐方法是什么? 最佳答案 这个PseudoS

ios - 等效于 iOS 3.x 中的 GCD 串行调度队列

Apple的GrandCentralDispatch(GCD)很棒,但只能在iOS4.0或更高版本上运行。苹果的documentation说,“[A]序列化操作队列不提供与GrandCentralDispatch中的串行调度队列完全相同的行为”(因为队列不是FIFO,但顺序由依赖性和优先级决定)。在支持GCD发布之前的OS版本的同时,如何实现与GCD的串行调度队列相同的效果的正确方法是什么?或者换句话说,在希望支持低于4.0版本的iOS应用程序中处理简单后台处理(执行Web服务请求等)的推荐方法是什么? 最佳答案 这个PseudoS

ios - NSOperationQueue 与 GCD

在什么情况下您更愿意使用NSOperationQueue而不是GCD?根据我对这两者的有限经验,我认为使用NSOperationQueue您基本上可以控制并发操作的数量。对于GCD,您不能这样做,因为您使用的是队列。除了你可以用多核处理器以某种方式模拟它,尽管我仍然认为没有办法控制它。 最佳答案 NSOperationQueue构建于iOS4的GCD之上。为手头的任务使用最简单的API。衡量它是否是性能问题,然后在需要时重新评估。dispatch_async是较低级别的,通常是C类型的东西(但不限于),适用于一次性和顺序类型的交易。

ios - NSOperationQueue 与 GCD

在什么情况下您更愿意使用NSOperationQueue而不是GCD?根据我对这两者的有限经验,我认为使用NSOperationQueue您基本上可以控制并发操作的数量。对于GCD,您不能这样做,因为您使用的是队列。除了你可以用多核处理器以某种方式模拟它,尽管我仍然认为没有办法控制它。 最佳答案 NSOperationQueue构建于iOS4的GCD之上。为手头的任务使用最简单的API。衡量它是否是性能问题,然后在需要时重新评估。dispatch_async是较低级别的,通常是C类型的东西(但不限于),适用于一次性和顺序类型的交易。