草庐IT

double-dispatch

全部标签

ios - Swift 3 中的 DISPATCH_QUEUE_T

这个问题在这里已经有了答案:HowtocreatedispatchqueueinSwift3(15个答案)关闭6年前。我正在编写我的第一个Swift3,但我遇到了以下错误dispatch_queue_t在swift中不可用。varqueue:dispatch_queue_t?vardebugPrint=falsepublicinit(){letuuid=NSUUID().uuidStringletqueueLabel="tomlogger-queue-"+uuidqueue=dispatch_queue_create(queueLabel,DISPATCH_QUEUE_SERIAL)}

Swift:从 dispatch_async 内部返回结果

所以我这里有一段代码不起作用。这是因为它在尝试解包可选值时发现nil。这是因为它在异步方法中被初始化。我的问题是,如何在函数获取结果之前推迟返回函数?structDomain{varname:String?vartld:String?varcombined:String{get{returnself.name!+self.tld!}}varwhoIs:String{get{ifself.whoIs.isEmpty{varresult:String?dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAU

swift - Double 与 Float 的浮点运算的惊人区别

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭5年前。varnum1=1.1ifnum1+0.1==1.2{print("true")}else{print("false")}结果:错误varnum1:Float=1.1ifnum1+0.1==1.2{print("true")}else{print("false")}结果:true前一个代码块有num1表示double,后一个代码块有num1表示float。我的问题:为什么带有Float的代码返回true而带有Double的代码没有?

ios - Xcode - Swift 编译器错误 : cannot convert the expression's type 'Double' to type 'Double'

如何在swift中将标checkout口字符串转换为double字符串?我有一个计时器正在更新标签:labelOutletForSecondsCount.text。标签用字符串“0,00”初始化。我想将停止的timeString(我从我的计时器中获取)保存为变量中的Double,以便在某些计算中使用它。我认为这行代码应该这样做,但我得到以下“Swift编译器错误:无法将表达式的类型‘Double’转换为类型‘Double’”。vartimeStringIntoDoubleValue=(labelOutletForSecondsCount.textasNSString).doubleVa

ios - 在指定的时间间隔内在 Swift 中将 Double 从 0 动画化到 1

我正在尝试通过进度指示器(Double)在指定时间段内连续调用函数,该时间段内应从0变为1。有没有办法在Swift中“动画化”这种从0到1的变化?更新:这是我根据https://github.com/danielgindi/ios-charts更新饼图数据的代码internalfuncanimateDataChange(fromDataSet:PieChartDataSet,toDataSet:PieChartDataSet,progress:Double)->PieChartDataSet{vardataEntries:[ChartDataEntry]=[]foriin0..我想做的

swift - 为什么将 Double 转换为 Int 不会在 Swift 中返回可选的 Int?

将String转换为Int会返回可选值,但将Double转换为Int不会返回可选值。这是为什么?我想检查double值是否大于最大Int值,但由于转换函数不返回可选值,我无法使用可选绑定(bind)进行检查。varstringNumber:String="555"varintValue=Int(stringNumber)//returnsoptional(555)vardoubleNumber:Double=555varfromDoubleToInt=Int(doubleNumber)//returns555因此,如果我尝试转换大于最大整数的double,它会崩溃而不是返回nil。va

swift - Swift 中用于 double 的 NSIntegers

今晚我一直在写一些代码来从用户的iPhone加载之前保存的数据。这是我的一些代码:varsalesHighScoreDefault=NSUserDefaults.standardUserDefaults()if(salesHighScoreDefault.valueForKey("salesRecord")!=nil){salesRecord=salesHighScoreDefault.valueForKey("salesRecord")as!NSInteger!}vardistanceWalkedHighScoreDefault=NSUserDefaults.standardUser

ios - dispatch_async 是否可以中断调用任务

假设我将任务异步分派(dispatch)到队列:{//weareonmainqueuedispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{print("taskB")});print("taskA")//somelongrunningworkprint("taskA")//somelongrunningworkprint("taskA")...}在任何情况下,分派(dispatch)的任务都可以中断从中分派(dispatch)它的任务吗?换句话说,是否会在打印所有“任务A”之前打印“

swift - 二元运算符 '<' 不能应用于类型 'Double' 和 'CGFloat' 的操作数

这段代码没有语法错误。for(varm=1.0;m另一方面,下面的代码有一个语法错误。错误消息:二元运算符“letimage=UIImage(named:"myImage")for(varn=1.0;n为什么会这样?我尝试使用iflet而不是forceunwrap,但我遇到了同样的错误。环境:Xcode7.0.1swift2 最佳答案 因为image!.size.height返回CGFloat任何类型的n都是Double所以你需要以这种方式将CGFloat转换为DoubleDouble(image!.size.height)。你的代

ios - 使用 performBackgroundTask 将多个核心数据插入分派(dispatch)到 NSPersistentContainer 时合并冲突

我正在试验新的核心数据APINSPersistentContainer,我的印象是内部排队机制会阻止写入事务并发评估,详见堆栈溢出答案NSPersistentContainerconcurrencyforsavingtocoredataThewaythatalotofproshavebeendealingwiththeproblemforalongtime(evenbeforeNSPersistentContainerdidit)wastohaveanoperationqueuetoqueuethewritessothereisonlyonewritegoingonatatime,an