GVKun编程网logo

在Swift中汇总CGFloat(swift count)

15

此处将为大家介绍关于在Swift中汇总CGFloat的详细内容,并且为您解答有关swiftcount的相关问题,此外,我们还将为您介绍关于2.3Swift的(Float)和(Double)浮点类型[S

此处将为大家介绍关于在Swift中汇总CGFloat的详细内容,并且为您解答有关swift count的相关问题,此外,我们还将为您介绍关于2.3 Swift的(Float)和(Double)浮点类型 [Swift原创教程]、iOS Swift下int强制转换为CGFloat、ios – 在Swift中调用CGPatternCreate、iphone – Float不能转换为CGFloat,CGFloat不能转换为Float的有用信息。

本文目录一览:

在Swift中汇总CGFloat(swift count)

在Swift中汇总CGFloat(swift count)

如何在Swift中汇总CGFloat?我已经尝试过了,ceil(CDouble(myCGFloat))但是只能在iPad Air和iPhone
5S上使用。

在另一台模拟设备上运行时,出现错误提示 ''NSNumber'' is not a subtype of ''CGFloat''

答案1

小编典典

更新 :Apple现在已经定义了一些CGFloat特定版本的常用功能,例如ceil

func ceil(x: CGFloat) -> CGFloat

…专门处理32/64位的差异。如果仅使用ceilCGFloat参数,则它现在应在所有体系结构上都适用。

我的原始答案:

我认为这太可怕了,但是谁能想到更好的方法?#if似乎没有工作CGFLOAT_IS_DOUBLE;
根据我在条件编译文档中看到的内容,我认为您仅限于构建配置。

var x = CGFloat(0.5)#if arch(x86_64) || arch(arm64)var test = ceil(x)#elsevar test = ceilf(x)#endif

2.3 Swift的(Float)和(Double)浮点类型 [Swift原创教程]

2.3 Swift的(Float)和(Double)浮点类型 [Swift原创教程]

1. 本节课将为你演示浮点数据类型。浮点数是有小数部分的数字,如3.14。浮点类型比整数类型表示的范围更大,可以存储比整型更大或者更小的数字。


2. 首先定义一个值为1.5的浮点类型变量,通过变量的数值,从而推断变量的类型为浮点类型。
3. 开发语言提供了两种有符号的浮点数类型,Double和Float,Float表示32位浮点数。精度要求不高的话可以使用此类型。
4. 获得指定类型的最大值。
5. 定义一个值为3.5的双精度类型的浮点变量,双精度表示64位浮点数。当你需要存储很大或者很高精度的浮点数时,请使用此类型。
6. 通过加号,可以将浮点变量增加一个数值。
7. 通过减号,可以将浮点变量减少一个数值。
8. 同样可以使用乘号以及除以符号,进行浮点数值的计算。
9. 将变量的值加上2,然后再乘以4。
10. 将变量的值乘以1.1。
11. 获得变量的值和16的差值。
12. 定义另一个浮点类型的变量。
13. 获得浮点数值的有效位数。
14. 获得浮点数值的指数。
15. 获得和24.0具有相同符号和指数的浮点数值,且有效位数为1。
16. 获得数值的编码的位模式。
17. 查看当前浮点数值转换为字符串后的值。
18. 检查当前的浮点数值是否为有限数值。
19. 检查当前的浮点数值是否为无限数值。
20. 检查当前的浮点数值是否小于6.0。
21. 检查当前的浮点数值是否小于或等于6.0。
22. 检查当前的浮点数值是否为非数字。
23. 检查当前的浮点数值是否为零。
24. 获得当前浮点数的值大小。
25. 获得当前浮点数的负值(相反数)。
26. 再次获得当前浮点数的负值。
27. 将浮点数值转换为整型数值,并舍入到小于或等于源数值的最接近的允许值。
28. 使用相同的方式,将浮点数值的负值进行类型的转换,并观察右侧的结果。
29. 将浮点数值转换为整型数值,并舍入到大于或等于源数值的最接近的允许值。
30. 将浮点数值转换为整型数值,并舍入到幅度大于或等于源数值的允许值,即向远离0的方向舍入。
31. 将浮点数值转换为整型数值,并舍入到幅度小于或等于源数值的允许值,即向靠近0的方向舍入。
32. 将浮点数值转换为整型数值,并舍入到最接近的允许值; 如果两个值同样接近,则选择具有较大幅度的值。
33. 将浮点数值转换为整型数值,并舍入到最接近的允许值; 如果两个值相同,则选择偶数。
34. 以截取的方式,获得浮点数值除以指定值的余数。
35. 最后获得浮点数值除以指定值的余数。
本文整理自:《Swift4互动教程》,真正的 [手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载: https://itunes.apple.com/cn/app/id1320746678 ,或扫描本页底部的二维码。课程配套素材下载地址: 资料下载

iOS Swift下int强制转换为CGFloat

iOS Swift下int强制转换为CGFloat

CGFloat(Float(index!))

 

ios – 在Swift中调用CGPatternCreate

ios – 在Swift中调用CGPatternCreate

我想知道如何将以下 objective-c方法转换为 Swift函数?

CGPatternRef pattern = CGPatternCreate(NULL,rect,CGAffineTransformIdentity,24,kCGPatternTilingConstantSpacing,true,&callbacks);

我的代码:

let callbacks : CGPatternCallbacks = CGPatternCallbacks(version: 0)

    let pattern : CGPatternRef = CGPatternCreate(nil,callbacks)

但是我收到了一条错误消息:

@H_301_21@

‘CGPatternCallbacks’ is not convertible to ‘CConstPointer’

有没有示例代码?谢谢

解决方法

这样的事情

var callbacks : CGPatternCallbacks = CGPatternCallbacks(version: 0)

var pattern = CGPatternCreate(nil,&callbacks)

iphone – Float不能转换为CGFloat,CGFloat不能转换为Float

iphone – Float不能转换为CGFloat,CGFloat不能转换为Float

我在XCode 6 beta 4上有一个快速的问题,让我疯了我在 IOS 8开发游戏而且我已经按照教程但我得到了这个:Float不能转换为CGFloat然后当我重铸为CGFloat时得到另一个.这是代码:

override func didMovetoView(view: SKView) {
    /* Setup your scene here */


    //physics
    self.physicsWorld.gravity = CGVectorMake(0.0,-5.0)


    // Bird
    var birdTexture = SKTexture(imageNamed: "kirby")
    birdTexture.filteringMode = SKTextureFilteringMode.Nearest
    bird.setScale(0.5)
    bird.position = CGPoint(x: self.frame.size.width * 0.35,y: self.frame.size.height * 0.6)

    bird.physicsBody = SKPhysicsBody(circleOfRadius:bird.size.height/2)
    bird.physicsBody.dynamic = true
    bird.physicsBody.allowsRotation = false

    self.addChild(bird)

    //ground
    ground.setScale(2.0)
    ground.position = CGPointMake(self.size.width/2,ground.size.height/2)


    ground.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.frame.size.width,ground.size.height))

    ground.physicsBody.dynamic = false
    self.addChild(ground)

    //pipes

    //create pipes
    //^

    //movement of the pipes
    let distancetoMove = CGFloat(self.frame.size.width + 2.0 * pipeUp.texture.size().width) 

    let movePipe = SKAction.moveByX(-distancetoMove,y: CGFloat(0.0),duration: NSTimeInterval(0.01) * distancetoMove) <----- this line is the problem

}

发生了什么事,我移动了这条线:

CGFloat(self.frame.size.width + 2.0 * pipeUp.texture.size().width)

我得到第二个错误,然后重铸:

Float(CGFloat(self.frame.size.width + 2.0 * pipeUp.texture.size().width))

要么

Float(self.frame.size.width + 2.0 * pipeUp.texture.size().width)

给了我第一个,所以swift想要什么,这是疯了.赶上22?有帮助吗?

编辑:如果有任何帮助,我将在2009年底使用英特尔酷睿2双核处理器,对于小牛OS X 10.9.4(13E28).我看到有关建筑选项的一些内容可能会影响浮动类型,但我不知道它们在哪里.

解决方法

这将被解释为CGFloat而不是作为NSTimeInterval,因为你投射然后相乘:

let movePipe = SKAction.moveByX(-distancetoMove,y: 0.0,duration: NSTimeInterval(0.01) * distancetoMove)

尝试乘以然后转换为NSTimeInterval:

let movePipe = SKAction.moveByX(-distancetoMove,duration: NSTimeInterval(0.01 * distancetoMove))

此外,正如已经建议的那样,您不需要施放距离.以下将工作得很好:

let distancetoMove = self.frame.size.width + 2.0 * pipeUp.texture.size().width

关于在Swift中汇总CGFloatswift count的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于2.3 Swift的(Float)和(Double)浮点类型 [Swift原创教程]、iOS Swift下int强制转换为CGFloat、ios – 在Swift中调用CGPatternCreate、iphone – Float不能转换为CGFloat,CGFloat不能转换为Float的相关信息,请在本站寻找。

本文标签: