スライド資料勉強会の資料をダウンロードできます。書著作権は「株式会社ゆめみ」に帰属します。スライド区分ファイル話題にした回熊谷さんのやさしい Swift 勉強会 オリエンテーション資料オリエンテーション for Publish.pdfAPI Design GuidelinesSwift API Design Guidelines.pdfWelcome to SwiftWelcome to Swift.pdfAbout SwiftAbout Swift.pdfThe BasicsThe Basics.pdfBasic OperatorsBasic Operators.pdfAutomatic Reference CountingAutomatic Reference Counting.pdfPatternsPatterns.pdf1 浮動小数点数1 浮動小数点数.pdf2 マグニチュード2 マグニチュード.pdf3 存在型の自己準拠、共変性と反変性3 存在型の自己準拠、共変性と反変性.pdf4. コレクション4 コレクション.pdf5. 所有権5 所有権.pdf6. アクター独立 要諦6 アクター独立 要諦.pdf話題に挙げさせていただいた技術ブログ題名区分著者(敬称略)話題にした回分類Swift Concurrencyでセマフォを作る技術ブログヴァンサン (@vincentisambart)並行処理 (Concurrency)セマフォ (Semaphore)DispatchSemaphoreアクター (Actor)AsyncSequenceAsyncStreamTaskGroupTaskwithCheckedContinuationデータ競合(data race)と競合状態(race condition)を混同しない技術ブログ@yohhoyデータ競合 (Data Race)不可分操作, アトミック操作 (Atomic Operation)並行処理 (Concurrency)競合状態 (Race Condition)ミューテックス (Mutex)SE-0352 Implicitly Opened ExistentialsSwift EvolutionSwift Evolution存在型 (Existential Type)存在型の展開存在型の自己準拠存在型はそのプロトコル自身には準拠しないAutomatic Reference CountingThe Swift Programming LanguageSwift.orgARC (Automatic Reference Counting)強参照 (Strong Reference)弱参照 (Weak Reference)強参照循環(循環参照, String Reference Cycle)無所有参照 (Unowned Reference)参照型 (Reference Types)クロージャー (Closure)クラスオプショナル型 (Optional)Swift 5.9 ReleasedSwift Open SourceAppleSwift マクロ (Swift Macros)アクセスコントロールswitch 式if 式所有権 (Ownership)マクロ引数パック (Parameter packs)packageDiscardingTaskGroupヌメロニムWikipedia数略語, ヌメロニム (numeronym)同じような処理だけどこっちの方がいいよってやつ技術ブログ@noppefoxwolf (noppe)UIKitインデックスUIButton遅延評価xedTaskUITableViewCGRectUILayoutGuideUIBarButtonItemUIImageSF SymbolsMagic Loading Property Wrappers技術ブログDaniel Jalkutプロパティーラッパー (Property Wrapper)@propertyWrapper@UIViewController.ViewLoading巨大なタプルを Array に変換SNS小清水健人タプル (Tuple)C 文字列StringutsnameポインターDear Erica: No-case Enums?技術ブログErica Sadun列挙型 (enumeration)列挙子を含まない列挙型 (Case-less Enums)ジェネリクス (Generics)シングルトン名前空間MemoryLayoutユーティリティークラスSwiftの precondition と assert の使い分け技術ブログ@koher (Yuta Koshizawa)表明 (assertion)前提条件 (precondition)最適化範囲内の数値の判定方法SNSLoco. iOS範囲 (Range)範囲に含まれる値の判定パターンマッチング評価式パターン (Expression Pattern)iOS アプリ開発において Swift の Error を巧く活用するには技術ブログ@temokiエラー処理 (Error Handling)ErrorLocalizedErrorNSErrorRecoverableErrorCustomNSErrorその Swift コード、こう書き換えてみないか技術ブログtreastrain / Tanaka RyogaBool.toggle()isMultiple(of:)CollectionRandomAccessCollectioncountendIndexCollection.Index計算量zipSequence.enumerated()Collection.indexed()product(_:_:)Swift AlgorithmsforEach(_:)名前空間breakcontinueBool.random()Array.randomElementarc4random()Optional.map(_:)nil確定初期化 (Difinite Initialization)lazy(予約語)プロトコル拡張@MainActorSwift Forum: Recursive structsSNSSvein Halvor Halvorsen値型の循環定義構造体Recursive struct in Swift using Box (indirect struct)SNSinamiy値型の循環定義プロパティーラッパー (Property Wrapper)クラス値型 (Value Types)構造体Result.swiftSwift Open SourceAppleResult 型Swift5 全予約語 (109語) の解説技術ブログ@ezuraSwift補数技術ブログ補数表現整数型基数部 (Radix)ビットパターン (Bit Pattern)Patterns公式文書Appleパターンマッチング列挙子パターン (Enumeration Case Pattern)識別子パターン (Identifier Pattern)評価式パターン (Expression Pattern)オプショナルパターン (Optional Pattern)値束縛パターン (Value-Binding Pattern)型キャストパターン (Type Casting Pattern)どんな種類の値にもマッチするパターンマッチしない可能性のあるパターンタプルパターン (Tuple Pattern)評価式パターンの独自定義ワイルドカードパターン (Wildcard Pattern)switchif caseFunctions公式文書Apple関数・メソッド引数リスト引数ラベル制約が弱い型の引数はラベルで補足既定値入出力引数inout関数型(Function Types)関数を入れ子にする引数で戻り値を返す1 浮動小数点数書き下ろし熊谷友宏浮動小数点数IEEE 754固定小数点数符号部 (Sign)仮数部 (Significand, Fraction)DecimalFloatingPointUntitledオーバーフロー (Overflow)アンダーフロー (Underflow)丸め誤差積み残し(誤差)情報落ち(誤差)桁落ち(誤差)エクセス N非正規化数 (Denominalized Number, Subnominal Number)正規化数(浮動小数点数)四倍精度浮動小数点数倍精度浮動小数点数半精度浮動小数点数基数部 (Radix)指数部 (Exponent)単精度浮動小数点数拡張倍精度浮動小数点数2 マグニチュード書き下ろし熊谷友宏浮動小数点数マグニチュード絶対値 (Absolute Value)abs条件付きプロトコル準拠 (Conditional conformances)型拡張 (Extension)3 存在型の自己準拠、共変性と反変性書き下ろし熊谷友宏存在型 (Existential Type)存在型はそのプロトコル自身には準拠しないサブタイピング(部分型付け)サブタイプ多相ポリモーフィズム(多態性)反変 (Contravariant)共変 (Covariant)存在型の展開4. コレクション書き下ろし熊谷友宏コレクションCollectionインデックスBidirectionalCollectionRandomAccessCollection5. 所有権書き下ろし熊谷友宏所有権 (Ownership)consume 演算子 (Ownership)consumingborrowinginoutdiscard~CopyableSwift の assert 系メソッドと fatalError の使い方技術ブログSciorassert と precondition の使い分け表明 (assertion)assertionFailure(_:)assert(_:_:file:line:)preconditionFailure前提条件 (precondition)fatalErrorSwiftで同じ名前のメソッドでオーバーロードしたい!技術ブログbannzaiオーバーロード (Overroads)@_disfavoredOverload関数・メソッドオリエンテーション書き下ろし熊谷友宏Objective-C の弱参照について技術ブログ@hotpepsi弱参照 (Weak Reference)Objective-Cウィークテーブル (Weak Table)Version Compatibility公式文書AppleAbout Swift公式文書AppleSwift API Design Guidelines公式文書AppleAbout Swift (Swift.org)公式文書AppleA Swift TourThe Swift Programming LanguageAppleprintHello Worldmain変数定数型パラメータージェネリクス (Generics)do-try-catchErrorエラー処理 (Error Handling)型拡張 (Extension)プロトコル拡張プロトコル (Protocol)並行処理 (Concurrency)case 条件switch構造体列挙型 (enumeration)オーバーライド (Overriding)クラス継承デイニシャライザーイニシャライザークラスmapクロージャー (Closure)関数・メソッドrepeat-whilewhilefor ⋯ inオプショナル・バインディング (Optional Binding)if letnilif配列型 (Array)制御構文 (Control Flow)The BasicsThe Swift Programming LanguageApple変数定数宣言 (Declaration)型注釈 (Type Annotation)printコメント;(セミコロン)整数IntUInt浮動小数点数型型安全型推論 (Type Inference)整数リテラル型変換型エイリアス (Type Alias)typealias真偽値 (Boolean)タプル (Tuple)ラベル付きタプルオプショナル型 (Optional)nilif強制アンラップオプショナル・バインディング (Optional Binding)if let暗黙アンラップなオプショナル (Implicitly Unwrapped Optionals)エラー処理 (Error Handling)throwsdo-try-catch表明 (assertion)前提条件 (precondition)assert(_:_:file:line:)assertionFailure(_:)preconditionFailurefatalErrorlazy プロパティーによるパフォーマンス向上SNS小清水健人lazy プロパティー【バグ】NSObject を継承したオブジェクトを unowned プロパティーとして保持すると、それを保持しているインスタンスを print すると落ちる技術ブログ@lovee (星野 恵瑠)NSObjectunownedデータ競合Wikipediaデータ競合 (Data Race)マルチスレッド (Multi Thread)排他制御actor の init / deinit における decay を理解する技術ブログ@maiyama18 (maiyama)アクター (Actor)decayイニシャライザーアクターにおけるイニシャライザーの特殊性initdeinit終了処理、デイニシャライズ (Deinitialization)並行処理 (Concurrency)並行安全 (Concurrency-safe)Migrating to Swift 6公式文書Swift.orgSwift 6並行処理 (Concurrency)並行安全 (Concurrency-safe)asyncawaitアクター独立, アクター隔離 (Actor Isolated)非隔離 (Non-Isolated)静的隔離 (Static Isolation)動的隔離 (Dynamic Isolation)隔離領域, 隔離ドメイン (Isolation Domain)6. アクター独立 要諦書き下ろし熊谷友宏結合法則RangeExpression公式文書AppleRangeExpressionrelative(to:) 浮動小数点数の誤差を考慮した比較技術ブログMaryCore浮動小数点数丸め誤差情報落ち(誤差)桁落ち(誤差)Swift 5.2 の callAsFunction の使い所技術ブログりずcallAsFuncitonSwiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい技術ブログ@koher (Yuta Koshizawa)エラー処理 (Error Handling)単一ドメインエラー (Simple Domain Error)復帰可能エラー (Recoverable Error)普遍的なエラー (Universal Error)論理エラー (Logic Error)エラーを送出できる関数 (Throwing Function)オプショナル型によるエラー表現Xcode 15.3 Release Notes公式文書AppleRelease Notes並行処理 (Concurrency)並行安全 (Concurrency-safe)nonisolatedXCTesttext が nil または isEmpty の時はスペース1個、そうでない時は text を返したいSNSKyome𓃠Stringオプショナル型 (Optional)if 式String.isEmpty『負数』の『除算・剰余』と『プログラミング』技術ブログなゆた負の値に対する剰余負の数の割り算と余り ~整数と余りの問題技術ブログNAOP(なおぴー)負の値に対する剰余余り (Remainder)負の値に対する剰余演算の結果まとめ技術ブログだえう余り (Remainder)剰余演算子 (`%`)負の値に対する剰余倍数Wikipedia倍数ゼロの倍数整数整数のオーバーフローで忘れがちなケース技術ブログ@thrzn41オーバーフロー (Overflow)整数整数型の表現範囲乗算演算子 (*)除算演算子 (/)Swift の Struct を NSCoding でエンコード・デコードする方法技術ブログRyoichi IzumitaNSCodingNSKeyedArchiverNSKeyedUnarchiverStoryboard からの ViewController 生成時に DI を行う技術ブログ平屋真吾依存性注入 (DI, Dependency Injection)NSCodingView ControllerfatalError必須イニシャライザー (Required Initializer)三項演算子?:は悪である。技術ブログ@raccyBasic OperatorsThe Swift Programming LanguageApple演算子 (Operator)代入演算子 (=)加算演算子 (+)減算演算子 (-)乗算演算子 (*)除算演算子 (/)