首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:全球Var宣言

Swift:全球Var宣言
EN

Stack Overflow用户
提问于 2015-08-20 05:19:45
回答 1查看 2.4K关注 0票数 0
代码语言:javascript
复制
import UIKit

var options = [String]()

var correctAns = Int()

var question : String


class quizController: UIViewController {

    @IBOutlet weak var questionLabel: UILabel!

    @IBOutlet weak var button1: UIButton!

    @IBOutlet weak var button2: UIButton!

    @IBOutlet weak var button3: UIButton!

    @IBOutlet weak var button4: UIButton!


    init() {

        question = "What quiz are you taking?"
        options = ["Medical", "Bollywood", "Math", "Trivia"]
        correctAns = 0



    }

    struct shuffle {

        var readyToAskQuestions : [quizController] {

            var questions = Array(arrayLiteral: question)
            questions.count = questionNum

            questions.shuffleInPlace()
            return questions
        }
        init() {




        }
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

我在全局var问题中得到了一个错误:需要初始化的字符串行(全局'var‘声明需要初始化表达式或getter/setter说明符)。

但是,如果我确实尝试初始化它,则会在结构中得到几个错误:

  • questions.count = questionNum --错误:不能将属性分配给属性:'count‘是一个只获取的属性
  • questions.shuffleInPlace --错误:'String‘没有一个名为shuffleInPlace的成员。
  • 返回问题--错误:不能将'@lvalue [String‘类型的返回表达式转换为预期的返回类型'quizController'

我如何重构我的代码,以便在不遇到这些错误的情况下初始化全局变量。

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 06:38:32

  1. questions.count = questionNum --错误:不能分配属性:'count‘是一个只获取的属性。 原因:非常清楚,数组的计数是只读属性。你不能给它赋值,你也不需要这么做。
  2. questions.shuffleInPlace --错误:“String”没有名为shuffleInPlace的成员 原因: questionsString的数组。Swift数组没有一个名为shuffleInPlace的方法。
  3. 返回问题--错误:不能将“@lvalue[String”类型的返回表达式转换为预期的返回类型'quizController‘。 原因:查看定义为可计算属性的quizControllerreadyToAskQuestions数组的类型。它期望quizController作为返回值,而不是返回字符串,这是错误的。

看来你对斯威夫特很陌生。不能让你在这个答案中把所有这些事情都弄清楚。强烈推荐阅读苹果快速编程电子书。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32110066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档