- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Swift 3,我在这个语句中有一个硬编码值:
var lastDisplayLinkTimeStamp: CFTimeInterval!
if self.lastDisplayLinkTimeStamp >= 30
{
totalTimes += 1
}
但现在我设置了一个分段控件,让用户选择 30.0、45.0 或 60.0 作为值,而不是硬编码值。
我知道我可以使用以下方法获取所选片段的标题文本:
durationSegment.titleForSegment(at: durationSegment.selectedSegmentIndex
我认为它会产生一个字符串? (可选字符串)
但是如何将文本的durationSegment.titleForSegment转换为if语句中接受的CFTimeInterval,或者我认为Double也被接受?
我尝试了使用 CFTimeInterval 或 Double 或 Float 转换的几种变体
if self.lastDisplayLinkTimeStamp >= Double(durationSegment.titleForSegment(at: durationSegment.selectedSegmentIndex)
{
totalTimes += 1
}
但仍然收到如下错误:
Binary operator '>=' cannot be applied to operands of type 'CFTimeInterval!' and 'Double?'
最佳答案
不要使用片段的标题。标题仅供显示之用,不应代表您的数据。
一个解决方案是创建一个时间间隔数组:
let possibleTimeIntervals: [CFTimeInterval] = [ 30.0, 45.0, 60.0 ]
然后根据所选段获取值:
let selectedSegment = durationSegment.selectedSegmentIndex
if selectedSegment != UISegmentedControlNoSegment {
let timeInterval = possibleTimeIntervals[selectedSegment]
if self.lastDisplayLinkTimeStamp >= timeInterval {
totalTimes += 1
}
}
顺便说一句 - 您甚至可以使用 possibleTimeIntervals
数组通过数字格式化程序创建片段标题。
关于swift - 将 iOS 分段控件转换为 CFTimeInterval 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44981890/
我正在复习一本关于 Swift 的书中的一个编程示例,并有一个 SKScene 的初始化程序,如下所示: class GameOverScene: SKScene { init(size:CG
在我的游戏中,我的更新循环中有一个计时器,它根据此行中返回的间隔更新标签: elapsedTime = 90 - (CFAbsoluteTimeGetCurrent() - startTime); 现
我正在使用 swift 制作游戏,我需要使用 Delta Time,但它是一个 CFTimeInterval (Double),理想情况下我需要它是一个浮点值,以便我可以在我的其他代码中使用它。 我猜
根据我的理解,beginTime 可以用来表示“嘿,正好在 12:00 开始”。但是我怎么用 CFTimeInterval 类型来告诉它呢?我认为这无非是一种指定秒数的“浮点”值。 或者 CAMedi
我的 CAAnimationGroup 中有两个旋转动画,一个从零开始,另一个从该状态开始重复和自动反转: - (void)addWobbleAnimationToView:(UIView *)vie
使用 Swift 3,我在这个语句中有一个硬编码值: var lastDisplayLinkTimeStamp: CFTimeInterval! if self.lastDisplayLinkTim
在 Objective C 中使用 CFTimeInterval 而不是 double 的原因是什么? 最佳答案 实际使用的类型可能会从一个平台更改为另一个平台,就像 CPU 从 32 位过渡到 64
我收到来自 CADisplayLink 的回调。该链接在 CFTimeInterval 中有一个时间戳。如何将该时间戳转换为 uint64 中的主机时间? 谢谢! 最佳答案 这是一份描述马赫时间转换为
我有两个场景 - DifficultScene 和 GameScene。在 DifficultScene 中,我有三个按钮 - 简单、中等和困难。我使用一个全局变量 Bool 来跟踪当前的难度级别。当
我是一名优秀的程序员,十分优秀!