草庐IT

double-dispatch

全部标签

iOS 在 dispatch_async 中调用 animateWithDuration

我调用了一个网络API来获取结果。收到响应后,我想使用动画功能删除带有指示的“visualIndicatorView”(UIView)。Indication和View进入隐藏状态但不顺利。这是我的代码:dispatch_async(dispatch_get_main_queue()){UIView.animateWithDuration(2.0,animations:{()->Voidinself.activityIndicator.hidden=trueself.visualIndicatorView.hidden=trueself.activityIndicator.stopAni

swift - 如何将 DispatchTimeInterval 转换为 NSTimeInterval(或 Double)?

我需要减去一个DispatchTimeInterval来自NSTimeInterval(或Double)。是否有一种标准方法可以将DispatchTimeInterval转换为NSTimeInterval? 最佳答案 DispatchTimeInterval是一个枚举:publicenumDispatchTimeInterval:Equatable{caseseconds(Int)casemilliseconds(Int)casemicroseconds(Int)casenanoseconds(Int)casenever}您可以使用

ios - Swift 将 Double 值分配给 malloc 的数组

我一直在玩swift并遇到了以下问题:varfoo:Double=5varbuffer=malloc(10)buffer[0]=foo//Doesnotcompile!如何为数组中的元素分配特定值? 最佳答案 你正在混合使用C和swift,malloc(10)没有给你Double的数据类型,它给你的是void*类型,我相信它转化为unsafemutablepointer我相信如果我没记错的话,有人请更正错了。如果你想要一个可变的double组,那么你需要做类似的事情varfoo:Double=5varbuffer=[Double](

swift - 在分派(dispatch)异步中包装完成处理程序的语法

我有一个需要分配给属性的完成处理程序,但我希望它异步执行。如果我没有那个要求,我会写:request.completionBlock=completionBlock但是既然有这个需求,我就得这样写request.completionBlock={response,errorinDispatchQueue.main.async{completionBlock(response,error)}}这似乎是多余的和不敏捷的。有没有更简单的语法?我想写类似的东西request.completionBlock=completionBlock.map(DispatchQueue.main.async

ios - 使用函数式编程将嵌套的字符串数组转换为嵌套的 double 组

我想将嵌套的字符串数组转换为嵌套的double组例子:letStrings=[["1.1","1.2"],["2.1","2.2"]]到letDoubles=[[1.1,1.2],[2.1,2.2]]我试过了letDoubles=Strings.flatMap(){$0}.flatMap(){Double($0)}但在这种情况下,我获得了一个double值数组,如何使这个数组保持嵌套?编辑:您能否详细说明为什么不使用map()两次或flatMap()两次?为什么正确的做法是先使用map,然后再使用flatMap? 最佳答案 让我们尝

swift - 我应该使用未命名的 Timer 还是 Dispatch asyncAfter 来延迟 1 次?

我可以通过两种方式延迟某些事情(也许还有更多方式):funcdelay(delay:Double,closure:@escaping()->()){DispatchQueue.main.asyncAfter(deadline:DispatchTime.now()+Double(Int64(delay*Double(NSEC_PER_SEC)))/Double(NSEC_PER_SEC),execute:closure)}//way1:delay(delay:1.0,closure:{})//way2:_=Timer.scheduledTimer(withTimeInterval:1.0

swift - 为什么 Int as Double 的类型注释有效但 Double as Int 无效?

在Swift中,类型注释可以使整数成为doubleletnum:Double=100print(num)为什么类型注解不能将double转换为整数(无法将类型“Double”的值转换为指定类型“Int”的错误)?letnum:Int=100.0print(num) 最佳答案 将Int文字转换为Double之所以有效,是因为Double符合ExpressibleByIntegerLiteral:Thestandardlibraryintegerandfloating-pointtypes,suchasIntandDouble,conf

swift - 无法使用类型为 'sizeof' 的参数列表调用 '([Double])'

我在调用sizeof时收到此错误消息。/Users/MNurdin/Documents/iOS/xxxxx/ViewController.swift:46:58:Cannotinvoke'sizeof'withanargumentlistoftype'([Double])'我的代码letwts:[Double]=[-30,20,20]letweights:NSData=NSData(bytes:wts,length:sizeof(wts))我做错了什么? 最佳答案 不要在实例上使用sizeof(),它需要一个类型。请改用sizeof

swift - 如何在 Swift 中为 `dispatch_function_t` 声明 `dispatch_async_f`?

Xcode7beta5。我正在尝试使用dispatch_async_f来避免阻塞。funcmyFirstFunc(){letidentifier=QOS_CLASS_BACKGROUNDletqueue=dispatch_get_global_queue(identifier,0)letcontext:UnsafeMutablePointer=nilletwork:dispatch_function_t=myOtherFuncdispatch_async_f(queue,context,work)}funcmyOtherFunc(context:UnsafeMutablePointer

arrays - 如何在 Swift 4 中将金字塔类型的字符串转换为 double 组

我需要通读下面给出的字符串,这样我就会得到这个字符串中用行分隔的double组,所以每一行都是不同的double组。varsampleString="""559448953096777126679713763845073679163768480709187026061872794659792990207687113207074918278358357111255729851464369627115856921855029003604849414633364723925048023659427972208277425678388039750271666601035572442567847