恩.
self.tableToUse[interim,checkSumArray[i]]
不幸的是,当我试图将输入中的数字传递给get / set方法时,我遇到了麻烦,我找不到将字符转换为Ints的方法.
func encode(number: Int) -> Int{ var checkSumArray = [Int]() if number > 99999999 { println("number is too large") return 0 } else if number < 0 { println("invalID input") return 0 } else { checkSumArray.append(number%(10)) checkSumArray.append((number%(100)-checkSumArray[0])/10) checkSumArray.append((number%(1000)-checkSumArray[1])/100) checkSumArray.append((number%(10000)-checkSumArray[2])/1000) checkSumArray.append((number%(100000)-checkSumArray[3])/10000) checkSumArray.append((number%(1000000)-checkSumArray[4])/100000) checkSumArray.append((number%(10000000)-checkSumArray[5])/1000000) checkSumArray.append((number%(100000000)-checkSumArray[6])/10000000) checkSumArray = checkSumArray.reverse() var interim: Int = 0 for i in 0..<checkSumArray.count{ interim = self.tableToUse[interim,checkSumArray[i]] } return interim }}
正如你所看到的,我不得不采用一种非常讨厌的方式处理这个问题.它有效,但它非常有限,效率低下,看起来或维护起来很难看.我已经看过在我构建的damm表中使用Characters而不是Ints的选项,并改变了get / set方法来处理那些,但这是很多额外的工作,可能会引入其他问题.任何有关处理此问题的替代方法的建议,或将字符转换为Ints的方法都将受到赞赏.
谢谢!
解决方法 没有必要使用字符,但你的代码创建一个具有输入数字的十进制数字的数组可以大大增加
简化:
var checkSumArray = [Int]()var tmp = numberwhile tmp > 0 { checkSumArray.append(tmp % 10) tmp /= 10}checkSumArray = checkSumArray.reverse()总结
以上是内存溢出为你收集整理的ios – 在Swift中将字符转换为Int全部内容,希望文章能够帮你解决ios – 在Swift中将字符转换为Int所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)