0
1

More than 1 year has passed since last update.

Swiftポケットリファレンスのメモ

Last updated at Posted at 2022-10-15

Swiftポケットリファレンスを読んだ後のメモ

本のリンク

iOSのレイア構造

名前 概要 フレームワーク
Application アプリ
Cocoa Touch 画面タッチなどの機能 UIKit(画面構成やタッチ)
MapKit(地図関連機能)
Media グラフィックス/オーディオ/ビデオなどの機能 AVFoundation(メディアの再生)
AVKit(メディア再生UI)
Core Image(画像加工)
Core Graphics(グラフィック関連)
Core Services 内部データ/位置情報/センサーなどの機能 Core Motion(端末のセンサー)
Core Location(位置情報関連機能)
Foundation(データ管理)
LocalAuthentication(生体認証)
Core OS iOS内のほぼ全ての機能の基本的な部分を管理
Hard Ware ハードウェア

iOSアプリの構造

アプリを起動するとアプリケーション全体を管理するUIApplicationオブジェクトが生成される、
UIApplicationオブジェクトは、AppDelegate.swiftで管理されるデリゲートに渡される
UIApplication
  ↪︎AppDelegate
    ↪︎RooViewController

Responder Chain (レスポンダチェーン)

UIViewなどのオブジェクトを経由してUIApplicationまで到達することをレスポンダチェーという
イベントが最初に発生するオブジェクトをファーストレスポンダ(First Responder)と呼ぶ

特殊文字

String文字列に以下の特殊文字を含めることができる

特殊文字 概要
\0 ヌル文字
\\   バックスラッシュ
\t タグ
\n 改行コード(LF)MacOS X以降
\r 改行コード(CR)MacOS 9以前
" ダブルクオーテーション
' シングルクオーテーション

範囲演算子

演算子 概要
... a...b aからbまで(bを含む)
..< a..<b aからbまで(bを含まない)

アクセス修飾子

名前 概要
open どこからでもアクセス可能
public どこからでもアクセス可能、同一のプロジェクト外ではoverrideは不可
internal 同一のプロジェクト内のみアクセス可能(既定)
fileprivate 同一ファイルのみのアクセス可能
private 同一の定義の中飲みアクセス可能
override スーパークラスから継承したメソッドの上書き
class クラスメソッドとして定義
static クラスメソッドとして定義、同一のプロジェクト外ではoverrideは不可

可変長引数

可変長引数とは引数を任意の個数に設定できる引数

func total(num: Int...) -> Int {
    var s = 0
    for n in num {
        s += n    
    }
    return s
}
print(total(num: 1,2,3)) // Print [6]

UIResponder

UIViewの上層クラスで、画面の接触や揺れのイベントを管理する

import UIKit

class SampleViewController: UIViewController {
    // このViewControllerがFirstResponderになれるようにする
    override var canBecomeFirstResponder: Bool {
        return true
    }

    // 揺れが始まった
    override func motionBegan(_ motion: UIEventSubType, with event: UIEvent?) {}

    // 揺れが止まった
    override func motionEnded(_ motion: UIEventSubType, with event: UIEvent?) {}

    // タッチ中
    override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {}

    // タッチ終了時
    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {}
    
}

UserDefaults

KeyValue型の形式で少量のデータの保存を管理する
大きなデータやファイルの書き出しはCoreDataを利用する
データの暗号化がされてない

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1