草庐IT

event-dispatching

全部标签

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

swift - swift 中 "event listeners"的想法如何分为 Action 和协议(protocol)?

我的问题作为一名正在学习Swift的新程序员。我想知道为什么在事件监听器的实现方式之间似乎存在任意划分。在一些教程中,指出您可以简单地在Storyboard上的View元素和ViewController之间拖动以创建Action(事件监听器)。@IBActionfuncclickButtonListener(_sender:UIButton){print("helloworld")}但在后面的教程中,我注意到某些类似事件监听器的功能也以协议(protocol)的形式实现classViewController:UIViewController,UIScrollViewDelegate{f

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 - CoreLocation 线程崩溃崩溃 : com. apple.CoreLocation.ConnectionClient.0x16fcb870.events

我在我们的生产应用程序中遇到了Apple的CoreLocation线程崩溃。我无法在我的测试中重现它,也很难弄清楚它是在CoreLocation内部。目前它只发生在少数人口中,但我可以看到它正在变得越来越大。Crashed:com.apple.CoreLocation.ConnectionClient.0x16fcb870.events0CoreLocation0x2aa2db54CLClientCreateIso6709Notation+536751CoreLocation0x2aa2dc7bCLClientCreateIso6709Notation+539702CoreLocati

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

ios - event.touchesForView().AnyObject() 在 Xcode 6.3 中不起作用

这在之前非常有效:funcdoSomethingOnDrag(sender:UIButton,event:UIEvent){lettouch=event.touchesForView(sender).AnyObject()asUITouchletlocation=touch.locationInView(sender)}但是在Xcode6.3中,我现在得到错误:Cannotinvoke'AnyObject'withnoarguments我该如何解决这个问题? 最佳答案 在1.2中,touchesForView现在返回原生SwiftS

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

swift 3 : how can I detect the touch event on UIScrollView?

我使用下面的函数来检测ScrollView上的触摸事件。overridefunctouchesBegan(_touches:Set,withevent:UIEvent?)但这无法检测到任何触摸事件。如何检测ScrollView上的触摸事件? 最佳答案 在您的scrollView上设置一个点击识别器:在您的viewDidLoad中添加以下内容:letscrollViewTap=UITapGestureRecognizer(target:self,action:#selector(scrollViewTapped))scrollView

ios - 在 Swift 中使用 dispatch_async 并发分析一个数组

我正在尝试使用GCD的后台线程同时分析一张照片。这是我写的代码:dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_UTILITY.value),0)){for(vari=0;i为了澄清变量名称,这里是它们的描述:photoAnalyzer是我编写的名为Analyzer的类的一个实例,它包含处理图像的所有方法。analyzeColors是Analyzer类中的一个方法,它执行大部分分析并返回一个字符串,其中包含传入图像的主色imageStrips是UIImage的数组,它们构成了原始图像的各个部分colorList是一个字符串数