ios - 从 Swift 中的类实例获取类型

标签 ios class variables swift instance

我正在为我的 SpriteKit 游戏处理两个文件:SPSwipes.swift 和 GameScene.swift。

在我的 SPSwipes.swift 文件中,在 SPSwipes 类中,变量由 IBAction 触发

class SPSwipes: UIViewController {

    @IBAction func fiveSwipes(sender: AnyObject) {
        var no_of_swipes = 5
    }
}

在我的GameScene.swift 文件 中,一个 if 语句检查什么值已经分配给了我的变量,并创建了一个数组:

if no_of_swipes == 5 {
    var array = Array<UInt32>(count: 5, repeatedValue: 0)
    for i in 0 ..< 5 {
        array[i] = arc4random_uniform(100)
    }
}

我收到此错误消息:

enter image description here

为了“解决”这个问题,我意识到我需要创建我的 SPSwipes 类的一个实例,所以我将它添加到我的 GameScene.swift 文件中:

var swipes = SPSwipes()

然后我将 if 语句更改为:

if swipes.no_of_swipes == 5{
...
}

然后我收到了这个错误:

enter image description here

据我所知,我已经正确创建了该类的一个实例,但显然存在问题。

最佳答案

你的错误在这里:

@IBAction func fiveSwipes(sender: AnyObject) {
    var no_of_swipes = 5
}

您在函数内部创建了一个变量,因此该变量在函数外部不存在。

您想要的是只要类的对象存在,变量就存在,因此您需要创建更高一级的变量:

class SPSwipes: UIViewController {

var numberOfSwipes = 0

@IBAction func fiveSwipes(sender: AnyObject) {
    numberOfSwipes = 5
    }
}

关于ios - 从 Swift 中的类实例获取类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700876/

相关文章:

ios - 应用内购买不起作用但得到产品响应

javascript - 如何将网络应用程序添加到用户主屏幕?

objective-c - 在Interface Builder中制作的UISearchDisplayController的contentView在哪里设置

ios - UIVisualEffectView 'disappears' 当放置在白色背景下时

html - CSS center a <ul> tag within div 问题

c++ - 我在 Linux C 或 C++ 中搜索 Windows msg.exe 的等效项

java - 根据最佳实践,我应该在哪里放置用于 GUI 测量的 JavaFX 常量?

c - 在 for 语句中声明变量时出错

javascript - CoffeeScript 变量初始化 : Why?

javascript - jQuery 尝试构建然后附加 HTML