草庐IT

instance_double

全部标签

ios - M_PI/Double.pi 有什么用,我们为什么要用它? SpriteKit

我正在使用swiftspritekit。嗨,我有几个关于M_PI的问题,这是我最近了解到的。对于我的游戏,我一直在研究旋转事物的不同方法。基本上,在我的游戏中有2架飞机围绕屏幕中心“飞行”。注意:当我尝试使用M_PI时,Xcode警告我使用double.pi,我用它来替换M_PI。这些东西是一回事吗?我试着找出如何围绕屏幕中心旋转平面。我发现最好的方法是使它成为中心节点的子节点,然后使用以下代码行旋转中心节点:letOrbitCenter=SKAction.rotate(byAngle:CGFloat(-2*Double.pi),duration:3.8)当我拿走Double.pi时,

swift - 如果在 Swift 中是整数,则将 Double 显示为 Int

我正在尝试编写一种方法来检查Double是否以.0结尾,而不是其他任何结尾。因此,例如检查它是2.0还是2.12345。如果它是2.0,那么我希望它只显示2,但如果它是2.12345,则显示2.12345。我想写一个将Double作为参数并返回Int的func,但如果输入结果是.12345,它就无法返回它。所以我想知道我的想法是否适用于调整,或者是否有非常相似的方法。我在想也许返回类型可以同时是Int和Double,但我不知道它是如何工作的。这是我目前的情况privatefunccheckIfWholeNumber(displayedDouble:Double)->Int{ifdisp

ios - 获取错误 [UIImage 范围] : unrecognized selector sent to instance

我正在尝试对我的UIImageView应用径向模糊,但是当我尝试这样做时出现错误[UIImageextent]:unrecognizedselectorsenttoinstance我使用的代码来自以下示例:https://developer.apple.com/documentation/coreimage/selectively_focusing_on_an_imageleth=bgImage.image!.size.heightletw=bgImage.image!.size.widthguardletradialMask=CIFilter(name:"CIRadialGradie

ios - 基础:为什么 Int64.max 和 Double(Int64.max) 在 Swift iOS SDK 中打印 2 个完全不同的值

这是我的Swift代码print("\(Int64.max)")print("\(Double(Int64.max))")它产生以下输出92233720368547758079.223372036854776e+18为什么两者的值完全不同9.223372036854776e+18-9223372036854775807=193仅供引用 最佳答案 您在输出中看到的Double的值只是一些有效数字的近似值。我们可以通过String(format:)看到更多有效数字print(String(format:"%.1f",Double(Int

swift - 收到 fatal error : Double value cannot be converted to Int because it is either infinite or NaN

该代码用于播客应用。importAVKitextensionCMTime{functoDisplayString()->String{lettotalSeconds=Int(CMTimeGetSeconds(self))letseconds=totalSeconds%60letminutes=totalSeconds/60lettimeFormatString=String(format:"%02d:%02d",minutes,seconds)returntimeFormatString}}选择要播放的播客时失败...导致音频播放但应用程序卡住,直到重新启动。编辑:错误发生在行lett

xcode - Swift 中的 double 范围

我目前正在编写一个Swift应用程序,它的一部分需要确保某些用户输入的总和达到指定的值。一个简化的例子:通过程序交互,用户指定了totalValue=67和turns=2。这意味着在两个输入中,用户将必须提供两个值加起来为67。假设用户在第1轮输入32,然后在第2轮输入35,这是有效的,因为32+35=67。一切正常,但当我们接近小数点后一位时,程序无法正确添加数字。例如,如果totalValue=67然后在第1轮用户输入66.95然后在第2轮他输入.05程序将返回这是一个错误,尽管事实上66.95+.05=67。此问题不会发生在小数点后一位或更少的情况下(例如turn1=55.5和t

ios - 将 Objective-C 方法转换为 NSInputStream 的 Swift(将字节转换为 double )

我在Objective-C中有以下代码:-(double)readDouble{doublevalue=0.0;if([selfread:(uint8_t*)&valuemaxLength:8]!=8){NSLog(@"*****Couldn'treaddouble");}returnvalue;}它有效。但我不知道如何将其转换为Swift。这是我的代码:publicfuncreadDouble()->Double{varvalue:Double=0.0varnum=self.read((uint8_t*)&value,maxLength:8)//gotcompilingerrorhe

ios - 将 UITextField 转换为 Int 或 Double

我对这段代码有疑问,学得很快,但我不明白为什么。我想做的是用户在两个TextField上输入两个数字,单击一个Button,然后在Label上得到结果。我知道TextField不允许Int,但只允许字符串,我知道有方法可以将字符串转换为Int,但它对我不起作用。代码如下:importUIKitclassViewController:UIViewController{@IBOutletweakvarfirstNumber:UITextField!@IBOutletweakvarsecondNumber:UITextField!@IBOutletweakvarresultButton:UI

swift - 带有嵌套类的 Swift 4 上的 "instance member cannot be used on type"错误

我有一个带有嵌套类的类。我试图从嵌套类中访问外部类的变量:classThing{varname:String?vart=Thong()classThong{funcprintMe(){print(name)//error:instancemember'name'cannotbeusedontype'Thing'}}}然而,这给了我以下错误:instancemember'name'cannotbeusedontype'Thing'有没有一种优雅的方法来规避这种情况?我希望嵌套类能够像闭包一样捕获词法范围。谢谢 最佳答案 你可以这样做c

ios - 让 VoiceOver 说 "Swipe Up or Down to Select a Custom Action, then double tap to activate"

我有一个UITextView,里面有两个不同的超链接。为了在VoiceOver打开时有机会在两个链接之间进行选择,我做了:classMyTextView{overridefuncawakeFromNib(){super.awakeFromNib()letstr="xxxxxxOption1yyyyOption2"letattrStr=NSMutableAttributedString(str)letrangeOption1=(strasNSString).range(of:"Option1")letrangeOption2=(strasNSString).range(of:"Optio