Swift Open Hours - Swift ラボで聞いてきた話 #FiNC_WWDC

  • View
    1.021

  • Download
    0

  • Category

    Software

Preview:

Citation preview

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

// 型やプロトコルの名前は Upper Camel Case class SomeClass {…} protocol SomeProtocol {…}

// それ以外の“すべて”は Lower Camel Case var someVariable: SomeType func someFunction() {…} #line

/* 英語が超苦手につき、以降は自己解釈を多く含みます。

間違い・違和感に気付いたら教えてください m(_ _)m */

Swift Lab で聞いてみた!

// Swift 2 では Upper Camel Case enum SomeEnumeration {

case SomeCase }

let value = SomeEnumeration.SomeCase

// Swift 3 では Lower Camel Case enum SomeEnumeration {

case someCase }

let value = SomeEnumeration.someCase

enum SomeEnumeration {

case someCase case someAssociatedCase(value: Int)

}

// Swift 2 enum Someone { enum Sometimes { case Something } }

// どこが空間でどこがそのメンバーか、読みにくい印象 let value = Someone.Sometimes.Something

// Swift 3 enum Someone { enum Sometimes { case something } }

// 空間とメンバーの違いが明瞭 let value = Someone.Sometimes.something

enum SomeEnumeration { enum NestedEnumeration { case OtherCases }

case SomeCase

func someFunction() {…} var rawValue: SomeType {…} }

UpperCamelCase lowerCamelCase

// 列挙型 enum SomeEnumeration { case someCase }

// オプションセット struct SomeOptions : OptionSet { static let optionA = SomeOptions(rawValue: 1 << 0) }

defer { // 宣言はまだなのに何故か使える handle.close() }

// defer の外だと当然のように使えない handle.close()

// このタイミングで宣言してみているときの話 var handle: Handle

/* 日本語が超達者な人が担当してくださり

存分に理解を深めることができました m(_ _)m */

Swift Lab で聞いてみた!

// 実質的に次のコードに変換されると予想 var handle: Handle : : : : : : : : :

handle.close()

do {

defer { print("Deferred", value) } print("Initial")

let value = 10 }

Enjoy! Swift/* Thank you */

Recommended