Help us understand the problem. What is going on with this article?

Viewcontroller、CustomViewでよく使うスニペット

More than 1 year has passed since last update.

1.はじめに

仕事でこれだけあればとりあえず新規画面では労力軽減。
毎回一から入力するのがとても面倒なのでスニペットに登録しておくと捗ります。
毎度おなじみ備忘録兼ねて載せます。

2.スニペットとは?

Xcodeでコードスニペット(入力補完)を追加する方法【開発効率向上】
に色々載っているますが、ちょっと古いので、Xcode10で位置が変わっているので載せますが、皆さんご存知だと思います。ビギナー向けです。
Xcodeのこの位置にあるやつです。

スクリーンショット 2019-03-16 12.24.13.png

3.スニペット登録方法

登録したい範囲を選択状態にして、右クリックからCreate Code Snippetをクリックすると画像のように登録画面詳細が出て、初期状態ではtitleにMy Code Snipptだけが入っているので、あとはお好みで変更して閉じれば完了です。
とても簡単です。

スクリーンショット 2019-03-16 12.28.45.png

スクリーンショット 2019-03-16 12.27.50.png

あとはスニペットをタップするか、キーワードを記述すると予測変換で出てくるようになります。

スクリーンショット 2019-03-16 12.27.32.png

スクリーンショット 2019-03-16 12.52.20.png

4.よく使うスニペット

1.ViewController

// MARK: - IBOutlet Properties

    // MARK: - Properties

    // MARK: - Private Properties

    // MARK: - Override Funcs

    override func viewDidLoad() {
        super.viewDidLoad()
        self.initView()
    }

    // MARK: - IBAction

    // MARK: - Public Funcs

    // MARK: - Private Funcs

    private func initView() {

    }

2.CustomView

// MARK: - Outlet Properties

    /// コンテントビュー。
    @IBOutlet var contentView: UIView!

    // MARK: - Properties

    // MARK: - Private Properties

    // MARK: - Override Funcs

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.commonInit()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        self.commonInit()
    }

    // MARK: - IBActions

    // MARK: - Private Funcs

    /// xibからカスタムViewを読み込む。
    private func commonInit() {
        Bundle.main.loadNibNamed("hogehoge", owner: self, options: nil)

        // Viewの大きさを定義
                self.contentView.frame = self.bounds
                self.addSubview(self.contentView)

                // xibファイルのViewをカスタムViewクラスに追加する
                addSubview(self.contentView)
    }

    // MARK: - Public Func

5.最後に

毎回こんなことしてたら日が暮れる...は言い過ぎですが、先に定義しておくとあとでリファクタリングしなくて済みます。
あとはテーブルビューのdelegate、datasourceでデフォルトで使う関数を全て1つのスペニットとして登録しておいて使い回したりもありですね。
ストーリボードスニペット機能とかあればもっと捗りそうですよね。
以上、少ないですが、皆さんもスニペット使ってみてください。

kazy_dev
iOSアプリエンジニアをしています。 Flutterも再開しました。 Docker勉強中。趣味はドラム。 ブログ始めました。 https://kazyblog.com/
https://kazyblog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away