繁体   English   中英

“ UInt32”不可转换为“ MirrorDisposition”

[英]'UInt32' is not convertible to 'MirrorDisposition'

编辑:好的。 我只是将代码更改为:var randomX = Int(arc4random()%6)希望我可以在这里发布之前想到它:|

我以该主题的可接受答案作为参考: Swift将UInt转换为Int


我一直在尝试快速制作一个简单的ios猜测应用程序。 我正在生成一个随机数,并从用户那里获得另一个数字,然后将两者进行比较。 但是我陷入了这个错误:比较两个整数时, 'UInt32' is not convertible to 'MirrorDisposition' (其中一个通过toInt()方法从字符串转换为整数)

在下面,您可以看到我的ui,我的代码,我阅读的两个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无法转换为'MirrorDisposition'Swift什么是mirrordisposition?

iOS Swift错误:“ T”不可转换为“ 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 = arc4random()%6

  var randomX = Int(arc4random()%6)

这应该做

let sizeX = UInt32(6)
let randomX = CGFloat(arc4random_uniform(sizeX))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM