Skip to content

Instantly share code, notes, and snippets.

@syou007
Created May 12, 2016 10:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save syou007/9b1e2b2919208928a3bc02da13b0a2fc to your computer and use it in GitHub Desktop.
Save syou007/9b1e2b2919208928a3bc02da13b0a2fc to your computer and use it in GitHub Desktop.
Swiftの変数定義あれこれ ref: http://qiita.com/syou007/items/fa33189a5c6e775eb11d
var value:Int
class Hoge {
var value:Int
init() {
self.value = 1
}
}
let values = [1,2,3]
values.append(4) // NG!
static let value = 1
var value:Int
var value:Int!
@IBOutlet weak var valueView:UIView!
var value:Int?
if let value = self.value {
print("\(value)")
}
weak var hoge:Hoge?
var value:Int? {
get {
// 1足してデータを返したい。
return self.value + 1
}
set {
// 1引いてデータを設定したい。(setの後に`newValue`の変数名を定義することもできます。僕はそのまま使っちゃいますが。)
self.value = newValue + 1
}
}
var value:Int? {
return self.value
}
var value:Int
if randBool() {
value = 1
} else {
value = 2
}
print("\(value)")
var value:Int = 1 {
didSet {
// 再描画させるなど...
self.render()
}
}
lazy var hoge:Hoge = {
// Hoge()がとても重い処理だったり、インスタンスが作成されてから処理をしたい場合
// この処理は一度しか呼び出されない。
return Hoge()
} ()
lazy var hogeView:HogeView = {
let hoge = HogeView(frame: self.freame)
hoge.delegate = self
return hoge
}()
// 上記のように定義していると以下のように使えてコードがスマートになります。
self.view.addChild(self.hogeView)
var value:Int = 1
var value = 1
var value = 0.5
var value:CGFloat = 0.5
let value = 1
let value = 1
value = 2 // NG!
let hoge = Hoge()
hoge.value = 1 // OK!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment