草庐IT

DISPATCH_LEVEL

全部标签

swift - 'dispatch_get_main_queue()' 的模糊使用 - XMPP

我正在使用XMPP进行聊天事件的项目。我正在使用以下代码生成它,varstream:XMPPStream!letxmppRosterStorage=XMPPRosterCoreDataStorage()varxmppRoster:XMPPRoster!overridefuncviewDidLoad(){super.viewDidLoad()xmppRoster=XMPPRoster(rosterStorage:xmppRosterStorage)stream=XMPPStream()stream.addDelegate(self,delegateQueue:dispatch_get_m

ios - 删除/停止 dispatch_async iOS

我创建了一个dispatch_async来将数据下载到网络服务。我用possibilida中的按钮创建了一个警报,以取消/阻止下载。我的问题是:如何删除/停止我的dispatch_async?这是我的express:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)){doStuff();} 最佳答案 GCD没有直接的方法,但您可以使用NSOperationQueue并调用方法cancelAllOperations。NSOperati

thread-safety - 有人可以在这种情况下为我解释 dispatch_async()

我在单独的类中有以下方法:classAPI:NSObject{vardata=NSData()vardelegate:APIProtocol?funcgetItems(callback:(Array)->()){leturlPath:NSString="http://localhost:3000/files"leturl=NSURL(string:urlPath)letrequest=NSMutableURLRequest(URL:url)request.HTTPMethod="GET"request.addValue("application/json",forHTTPHeaderF

parallel-processing - Swift 是否具有通过 Grand Central Dispatch 的 dispatch_async 进行并行编程的结构?

我有兴趣采用新的Swift编程语言。我维护的代码库通过C++GrandCentralDispatch扩展(dispatch_async等)广泛使用多核处理有没有审查过Swift现状的人知道这种语言是否能够以类似的方式访问GCD? 最佳答案 是的,虽然我在Playground上没有取得太大的成功,但确实如此。在一个真实的项目中它应该工作。所有iOS8和OSX10.10文档都显示了GCD方法的Swift语法。我在当前项目中为单例使用dispatch_once,它工作得很好:NSOperation和NSOperationQueue都在底层

swift - dispatch_after 快速解释

我目前正在做一个项目,其中一部分我需要在一段时间后取消突出显示一个按钮。我决定使用dispatch_after。我已经设法让它工作了,但是有人能解释一下这行代码是如何工作的吗?我一直无法理解dispatch_after究竟是如何工作的。dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64(1000*Double(NSEC_PER_MSEC))),dispatch_get_main_queue()){self.redButton.highlighted=false} 最佳答案 让我们

ios - BLE 只获取 Battery Level 特征值 IOS

我正在尝试使用CoreBluetooth框架从设备读取所有可用服务及其特征值。-(void)centralManager:(CBCentralManager*)centraldidDiscoverPeripheral:(CBPeripheral*)peripheraladvertisementData:(NSDictionary*)advertisementDataRSSI:(NSNumber*)RSSI{NSLog(@"Receivedperipheral:\n%@",peripheral);NSLog(@"Advdata:%@",advertisementData);self.ac

swift - NSInvalidArgumentException - 'Invalid top-level type in JSON write' - swift

如帖子标题中所述,我在尝试快速将字典转换为JSON数据时收到NSInvalidArgumentException-“JSON写入中的顶级类型无效”letuserInfo:[String:String]=["user_name":username!,"password":password!,"device_id":DEVICE_ID!,"os_version":OS_VERSION]letinputData=jsonEncode(object:userInfo)...staticprivatefuncjsonEncode(object:Any?)->Data?{do{ifletencod

c++ - 为什么 dispatch_queue_create 在 Swift 中给出 EXC_BAD_ACCESS 错误?

我正在将一些代码从C++移植到使用GrandCentralDispatch的Swift,我发现dispatch_queue_create似乎根本不起作用的奇怪错误。例如,在我的C++基类header中,我会声明dispatch_queue_tm_WorkQ;在初始化器中,放入m_ResultQ=dispatch_queue_create("com.myapp.mHitsUpdateQueue",0);...一切都是光荣的。我已经在我的类里面用Swift尝试过这个,在类级别声明:varresultQueue:dispatch_queue_t...在初始化器中,我有(除其他外)这条线res

json - swift 错误 : Statements are not allowed at the top level

这个问题在这里已经有了答案:ExpectedDeclarationErrorusingSwift(1个回答)关闭2年前。我正在浏览SwiftJSON解析(https://github.com/thoughtbot/Argo)的Argo文档,它们提供了一个简单的代码片段,应该可以检索JSON数据,但我在运行它时遇到错误。片段是://WhereveryoureceiveJSONdata:letjson:AnyObject?=NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions(0),error:ni

swift - 如何在 Swift 3 中创建具有 QoS 属性的 dispatch_queue?

这个问题在这里已经有了答案:HowtocreatedispatchqueueinSwift3(15个答案)关闭6年前。我在Swift2中有这样的代码:letattrs=dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL,QOS_CLASS_UTILITY,0)letmyQueue=dispatch_queue_create("com.example.serial-queue",attrs)这在Swift3中无法编译,因为dispatch_queue_attr_make_with_qos_class和dispatch