「メンバ変数・グローバル変数」Global 'var' declaration requires an initializer expression or getter/setter specifier というエラー


qiita.rb

Global 'var' declaration requires an initializer expression or getter/setter specifier

このようなSwiftのエラーは、メンバ変数・グローバル変数を定義する際、初期値を指定してない時に現れるエラーです。

Swiftではメンバ変数、グローバル変数を定義するときは、必ず初期値を入れなければいけません。下記のように、初期値を省いてグローバル変数を定義すると

qiita.rb


import UIKit


//初期値を省いたグローバル変数の定義
var global:Int


class ViewController: UIViewController {

このようなエラーが発生します。

qiita.rb

Global 'var' declaration requires an initializer expression or getter/setter specifier

ので、「?」を付けた形でグローバル変すを定義しましょう。こうすることで、どこからでも変数を参照できます。

そして、はてなをつけることで変数にnilを許容します。絶対に何かが入るという意味では「!」でも構いません。

qiita.rb


import UIKit

var global:Int?
var global:String?
var global:Img?

class ViewController: UIViewController {