Swift チャチャチャ #love_swift

  • View
    1.190

  • Download
    0

  • Category

    Software

Preview:

Citation preview

/* 2016.06.27 */ /* 集まれSwift好き! Swift愛好会 vol8 */

/**

*/

紙版は絶版、電⼦書籍は販売中

/* 2016/06/13 2016/06/17 */

/* Wikipedia より引用 */

sin ✓ =

p3 cos ✓

この式が成り立つときの sinθ、cosθ、tanθの値を求める

sin ✓ =

p3 cos ✓

この式が成り立つときの sinθ、cosθ、tanθの値を求める

sin ✓

cos ✓=

p3

1

sin ✓

cos ✓= tan ✓

まず、次の関係性がある

問題の式を変形すると…

θcos

sintan

sin ✓

cos ✓=

p3

1

問題の変形から比が判る

1

p3

三平方の定理を使って…θ

cos

sintan

x

2 = 12 +p32

x =p1 + 3 = 2

x

1

p3

2

θcos

sintan

各辺の比から

sin ✓ =

p3

2

, cos ✓ =

1

2

元の式と三角関数の関係から

tan ✓ =p3

// あるインスタンスメソッドの処理を初回だけ実行して viewController.prepare() // Do Something

// それ以降は、呼び出しても何もしないようにしたい viewController.prepare() // Do Nothing viewController.prepare() // Do Nothing

// あるインスタンスメソッドの処理を初回だけ実行して viewController.prepare() // Do Something

// それ以降は、呼び出しても何もしないようにしたい viewController.prepare() // Do Nothing viewController.prepare() // Do Nothing

final class ViewController : UIViewController { private(set) var prepare: Void = { print("Prepared")

}() } // STEP1: この時点では初期化時点での実行になる let object = ViewController(nibName:nib, bundle:nil)

final class ViewController : UIViewController { private(set) lazy var prepare: Void = { print("Prepared")

}() } // STEP2: プロパティ参照で初回参照時のみの実行になる object.prepare as Void

final class ViewController : UIViewController { private(set) lazy var prepare: () -> Void = { print("Prepared") return {} }() } // STEP3: 初回だけ実行される関数として使える object.prepare()

final class ViewController : UIViewController {

// ここに Interface Builder でラベルを連結 private var noteLabel: UILabel }

final class ViewController : UIViewController {

// ここに Interface Builder でラベルを連結 private var noteLabel: UILabel }

final class ViewController : UIViewController {

// STEP1: @IBOutlet を付けると IB から連結可能 @IBOutlet private var noteLabel: UILabel }

final class ViewController : UIViewController {

// STEP2: 使用時までに初期化を間にあわせる決意 @IBOutlet private var noteLabel: UILabel ! }

final class ViewController : UIViewController {

// STEP3: 変更を監視して速やかに設定(コードも明瞭) @IBOutlet private var noteLabel: UILabel ! { didSet { noteLabel.text = "\(arc4random())" } } }

final class ViewController : UIViewController { private lazy var prepareAtFirstTime: () -> Void = { print("Prepared") return {} }()

override func viewWillAppear(_ animated: Bool) {

super.viewWillAppear(animated) prepareAtFirstTime() } }

final class ViewController : UIViewController {

@IBOutlet private var noteLabel: UILabel ! { didSet { noteLabel.text = "\(arc4random())" } } }

Enjoy! Swift/* Thank you */