Edited at

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

More than 3 years have passed since last update.


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 {