【发布时间】:2014-09-19 12:51:00
【问题描述】:
编辑: 行。我只是将我的代码更改为: var randomX = Int(arc4random()%6) 希望我能在发帖之前想到它:|
我将此主题的公认答案作为参考:Swift convert UInt to Int
我一直在尝试用 swift 制作一个简单的 ios 猜测应用程序。我正在生成一个随机数并从用户那里获取另一个数字并比较两者。但我遇到了这个错误:'UInt32' is not convertible to 'MirrorDisposition' 同时比较两个整数(其中一个通过 toInt() 方法从字符串转换为整数)
您可以在下面看到我的用户界面、我的代码、我阅读的两个 stackoverflow 主题以及阅读这些主题后我如何更改我的代码。
用户界面:(我无法调整图像大小)
我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var myImageView: UIImageView!
@IBOutlet var inputField: UITextField!
@IBAction func clickedGuessButtonAction(sender: AnyObject) {
println("Guess button clicked")
var randomX = arc4random()%6
println("randomX = \(randomX)")
var guess = inputField.text.toInt()
if((inputField.text) != nil){
if(guess == randomX){
println("correct")
var image = UIImage(named: "images/tick.png");
myImageView.image=image;
self.view.addSubview(myImageView); // what is this?
inputField.resignFirstResponder();// hides keyboard
}
else
{
println("wrong")
var image = UIImage(named: "images/cross.png")
myImageView.image=image;
self.view.addSubview(myImageView);
inputField.resignFirstResponder();//hides keyboard
}
}
else{
println("invalid input. requires integer only")
inputField.resignFirstResponder();// hides keyboard
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我在 stackoverflow 上找到了这些主题:
float is not convertible to 'MirrorDisposition' Swift What is mirrordisposition?
iOS Swift Error: 'T' is not convertible to 'MirrorDisposition'
第一个特别有一个扩展答案,最后建议if intValue == Int(floatValue)
比我改了var guess = inputField.text.toInt()
到var guess = Int(inputField.text);
但这次我收到了这样的错误消息:Cannot invoke 'init' with an argument of type '@lvalue String!'
这一次,我搜索了这个错误信息,但找不到任何有用的信息。比较两个整数应该不难。我肯定错过了一些简单的东西。有什么想法吗?
【问题讨论】:
-
好的。我只是将我的代码更改为:var randomX = Int(arc4random()%6) 希望我能在发帖之前想到它:|