作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试初始化斐波那契数列,以便稍后可以在表格 View 中使用它们。现在,这就是我尝试执行此操作的方式,但遇到了一个问题:“无法在 fibonacciNumbers.append( ) 处使用类型为 '(Int?)' 的参数列表调用 'append'”
class FibonacciNumbers {
class func getTheFibonacciNumbers(allResults: NSArray) -> [FibonacciNumbers] {
// Create an empty array of Fibonacci Numbers to append to from this list
var fibonacciNumbers = [FibonacciNumbers]()
var number = generate()
// Store the results in our table data array
if allResults.count>0 {
for result in allResults {
fibonacciNumbers.append(number.next()) //Getting issue here
}
}
return fibonacciNumbers
}
}
func generate() -> GeneratorOf<Int> {
var current = 0, next = 1
return GeneratorOf<Int> {
var ret = current
current = next
next = next + ret
return ret
}
}
最佳答案
对于生成器,next()
返回一个可选值。但是,由于您的生成器被设计为永远不会停止生成数字,因此您可以安全地使用 next()!
。
另一个问题是您的 generate()
函数生成一个 Int 生成器,这意味着 numbers.next()!
将是一个 Int。因此您的 fibonacciNumbers
数组需要是 [Int]
。
关于ios - 如何用另一个函数初始化一个类函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32289151/
我是一名优秀的程序员,十分优秀!