- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试做一些事情来为我的一些三年级学生提出问题,但我不断遇到“无法找到接受所提供参数的‘init’的重载”和“找不到重载对于接受“(Int)”类型的参数列表的“round”。我对 Swift 完全陌生,在过去一个小时左右的时间里我一直在谷歌上搜索。
我知道这不是最优雅的东西,但任何帮助将不胜感激。
import UIKit
class Question {
var player: Player
var question: String
var answer: Int = 0
var gradeThreeAdditionBank:[String] = ["Hello","Goodbye"]
var gradeThreeSubtractionBank:[String] = ["Hello"]
var gradeThreeMultiplicationBank:[String] = ["Hello"]
var gradeThreeDivisionBank:[String] = ["Hello"]
var gradeThreeRoundingBank:[String] = ["Round the following to the nearest rnd.factors: ", "rnd.name needs around rnd.number rnd.item(s). About how many does s/he need? (Round to the nearest rnd.factors.)"]
var gradeThreeRoundingFactors:[String] = ["one", "ten", "hundred"]
var gradeThreeFractionBank:[String] = ["Hello"]
var gradeThreeMultiStepBank:[String] = ["Hello"]
var randomName:[String] = ["Brayden", "Justin", "Nelson", "Ryan", "Russell", "Albert", "Adam", "Yan Bo", "Jonathan", "Chris", "Michael", "Alan", "Nicholas", "Brian", "Jeremy", "Max", "William", "Victor", "Ethan", "Johnny", "Terry", "Liam", "Selina", "Althea", "Amber", "Morgan", "Emma", "Kelly", "Kaitlyn", "Ashley", "Patience", "Brianna", "Jessica", "Lilian", "Charlotte", "Tiffany", "Nancy", "Crystal", "Lily", "Winnie", "Sarah", "Doris"]
init(question:String, answer:Int, player:Player) {
self.question = question
self.answer = answer
self.player = player
}
func generateQuestion() -> (String, Int) {
var questionType:String = ""
if (player.getLevel() >= 1 && player.getLevel() < 5) {
//(question, answer) = generateGradeThreeRoundingBank()
}
else if (player.getLevel() == 5) {
}
return (question, answer)
}
func generateGradeThreeRoundingBank() -> (String, Int) {
// Chooses the question type
var tempType:Int = Int(arc4random_uniform(1))
// Generates the text for the selected question type
var temp:String = gradeThreeRoundingBank[tempType]
// Generates a random number to round
var tempNumb = Int(arc4random_uniform(990)) + 10
// Chooses a factor to round to
var roundTo:String = gradeThreeRoundingFactors[Int(arc4random_uniform(3))]
if (tempNumb < 100) {
roundTo = gradeThreeRoundingFactors[Int(arc4random_uniform(2))]
}
else if (tempNumb < 10) {
roundTo = "one"
}
else {
roundTo = gradeThreeRoundingFactors[Int(arc4random_uniform(3))]
}
// Saves an Int version of roundTo
var roundToNumber:Int = 0
if (roundTo == "one") {
roundToNumber = 1
} else if (roundTo == "ten") {
roundToNumber = 10
} else {
roundToNumber = 100
}
// Generates an answer based on retrieved information
var tempAnswer = 0
if (roundToNumber == 1) {
tempAnswer = Int(round(tempNumb))
} else if (roundToNumber == 10) {
tempAnswer = Int(round(tempNumb)/10) * 10
} else {
tempAnswer = Int(round(tempNumb)/100) * 100
}
// Generates a question using the bank and replacing values with retrieved values
if (tempType == 0) {
temp.stringByReplacingOccurrencesOfString("rnd.factor", withString: roundTo)
temp.append(round(tempNumb))
}
else if (tempType == 1) {
temp.stringByReplacingOccurrencesOfString("rnd.factor", withString: roundTo)
}
return (temp, tempAnswer)
}
}
最佳答案
Swift对其数据类型很挑剔。在这里,您创建了 tempNumb
类型为 Int
:
var tempNumb = Int(arc4random_uniform(990)) + 10
稍后,当您调用时:
tempAnswer = Int(round(tempNumb))
您收到错误消息,告诉您 round()
不接受 Int
,因为它不接受。 round()
接受一个 Double
或 Float
。
所以也许您想从 Double
开始:
var tempNumb = Double(arc4random_uniform(990) + 10)
<小时/>
有用的提示:按住选项键并单击任何变量以查找其类型。
关于Swift - 找不到 'init' 和 'round' 的重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274648/
我正在尝试在 Windows 上运行的小于 1GB 的 VM 上设置 YouTrack 和 TeamCity。使用率将非常低(用户和请求)。这是一个 POC 环境,如果它有效,我可能会将它推送到一个超
所以我在尝试使用 FORFILES 解决这个问题时遇到了麻烦。我正在尝试获取不超过 4 天的文件。所以基本上少于 4 天。然而,这似乎不太可能,因为/d -4 获取所有 4 天或更早的项目。 以下是我
如何从下面的 events 表中选择小于 15 分钟前创建的 events? CREATE TABLE events ( created_at timestamp NOT NULL DEFAU
Google Analytics Realtime提供 rt:minutesAgo ,可以过滤查询。 然而,它是一个维度而不是一个度量标准,<=不能在过滤器中使用。 假设我想在最后 n 分钟内获得一些
iOS 核心数据 - 严重的应用程序错误 - 尝试插入 nil 你好, 我的应用程序实际上运行稳定,但在极少数情况下它会崩溃并显示此错误消息... 2019-04-02 20:48:52.437172
我想制作一个 html div 以快速向右移动(例如不到 1 秒)并消失。然后1秒后再次直接出现在这个过程最开始div的位置。此过程将由单击按钮并重复 10 次触发。 我试图在 CSS 中使用过渡属性
我发现使用 TimeTrigger 是 Windows 10 (UWP) 上计划后台任务的方式。但是看起来我们需要给出的最小数字是 15 分钟。只是想知道,即使我们安排它在接下来的 1 分钟内运行,警
我必须在 1 秒内在屏幕上打印 2^20 行整数 printf 不够快,还有其他易于使用的快速输出替代方法吗? 每一行只包含 1 个整数。 我要求它用于竞争性编程问题,我必须将其源代码提交给法官。 最
我是一名优秀的程序员,十分优秀!