【XCode】TableViewのCellをカスタマイズする

環境

  • MacBook Air M1
  • OS : 11.2(20D64)
  • XCode : 12.4
  • Swift : 5.3.2

参考

1. 新規ファイル追加でCocoa Touch Classを選択

新規作成

2. 作成時の設定

  • Class : 好きな名前(今回はCustomTableViewCell)
  • Subclass of : UITableViewCell
  • Also create XIB file : ON
  • Language : Swift

作成時オプション

2つの新規ファイルが生成されればOK
作成済みチェック

3. CustomTableViewCell.xibを編集

Cellにラベルを追加

ラベル追加

Rostoration IDの設定

任意の文字列でいい(セル生成時に使用する)
Identifier

4. CustomTableViewCell.swiftでラベルの参照を設定

ラベル参照

5. Main.storyboardを編集

Table Viewを追加
TableVIew

6. ViewController.swiftを編集

Main.storyboardで指定した、Table Viewの参照を設定

  • 参照時の変数名を今回はTableViewとする

TableView参照

viewDidLoad()に追記

  • UITableViewに対して、delegateと使用するCellの情報を設定
    • TableView.register : 使用するカスタムセルの情報を登録
      • nibName = 作ったCellのクラス名
      • forCellReuseIdentifier = xibで指定したidentifier名
    • TableView.delegate :
    • TableView.dataSorce :
1
2
3
4
5
6
7
8
9
10
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.

// ここから
TableView.register(UINib(nibName: "CustomTableViewCell", bundle: nil), forCellReuseIdentifier: "CustomCell")
TableView.delegate = self
TableView.dataSource = self
// ここまで
}

UITableViewDelegate,UITableViewDataSourceを継承

  • どちらのメソッドも、optionalなので、最低限のメソッドの定義をすれば、他のメソッドは定義しなくてもいい
  • UITableViewDelegate : TableView内のデータが選択や生成、編集されたときに呼び出されるメソッドが定義されたプロトコル群
  • UITableViewDataSource : テーブルに表示させたいデータを設定するためのプロトコル群
1
2
3
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
...
}

継承すると、エラーが出るはずなので、Fixをクリックしてメソッドを2つ自動生成してもらうと、以下のようなメソッドが自動生成されるはず

1
2
3
4
5
6
7
8
9
10
11
//	UITableViewDelegateの継承によって生成された
// TableViewに生成するセル数を設定する(Int型を返す)
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
Code
}

// UITableViewDataSourceの継承によって生成された
// TableViewに表示するセルのデータを設定する(UITableViewCellを返す)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
Code
}

今回は、生成するセルを10個、表示するデータを各セルを上から数えたときの番号にする

1
2
3
4
5
6
7
8
9
10
11
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell",for: indexPath) as! CustomTableViewCell

cell.Label.text = String(indexPath.row)

return cell
}

実行した結果

完成

ViewController.swiftの完成形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {


@IBOutlet weak var TableView: UITableView!

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell",for: indexPath) as! CustomTableViewCell

cell.Label.text = String(1)

return cell
}


override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
TableView.register(UINib(nibName: "CustomTableViewCell", bundle: nil), forCellReuseIdentifier: "CustomCell")
TableView.delegate = self
TableView.dataSource = self
}


}

XcodeでVimキーバインドを使う「XVim2」

目次

  1. 証明書の発行
  2. XVim2のインストール
  3. XcodeにXVim2を読み込ませる
  4. .xvimrcでカスタマイズ 
  5. 参考

1. 証明書の発行

  1. アプリケーションのKeychain Access(キーチェーンアクセス)を起動

  2. Keychain Accessウィンドウの左側のデフォルトチェーン内のログインを選択

  3. 画面上部のメニューバーから、キーチェーンアクセス->証明書アシスタント->証明書を作成を選択

    キーチェーン証明書作成

  4. 以下と同じ情報を設定して、作成ボタンを押下

    • 名前 : XcodeSigner
    • 固有名のタイプ : 自己署名ルート
    • 証明書のタイプ : コード署名

    証明書作成時の入力内容

  5. 作成時の警告が出るが、続けるを選択

    証明書作成時の警告

  6. 以下の画像のような画面が表示されれば証明書の発行は成功

    証明書完成

2. XVim2のインストール

この作業では、任意の場所にリポジトリをクローンして作業を行ますが、今回はDesktopで作業することとして解説します。

Xcodeのパスの確認

インストール作業を行う前に、Xcodeが配置されているファイルパスの確認をします。

以下のコマンドで、/Applications/Xcode.app/Contents/Developerというパスが表示されればOKです。それ以外のパスが表示されてしまった場合は、以下コマンドで、パスを設定してください。

1
xcode-select -p

それ以外のパスが表示されてしまった場合は、以下コマンドで、パスを設定してください。

1
xcode-select -s /Applications/Xcode.app/Contents/Developer

インストール

注意 : この作業を行うときは、Xcodeを完全に落として(タスクキル)から行ってください

  1. ディレクトリを移動

    1
    cd ~/Desktop
  2. リポジトリをクローン

    1
    git clone https://github.com/XVimProject/XVim2.git 
  3. クローンしてきたリポジトリのディレクトリに移動

    1
    cd XVim2/
  4. makeコマンドでプラグインをビルド

    1
    make
  5. 出力がたくさん流れたあと、に以下のような文字が表示されれば成功

    1
    ** BUILD SUCCEEDED **

3. XcodeにXVim2を読み込ませる

  1. Xcodeを起動すると、以下の画像のようなウィンドウが表示されるので、Load Bundleを選択する
    Xcode起動時の確認画面
  2. 上部メニューバーのEditメニューの一番下にXVimが表示されて入れば導入成功

間違えて、Skip Bundleを選択してしまった場合

一度XCodeを閉じて(タスクキル)して、以下コマンドをターミナルで実行してから再度XCodeを実行するとまた確認ウィンドウが表示さる

X.X = 自分が使っているXcodeのバージョン

1
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcod-X.X

4. .xvimrcでカスタマイズ

ホームディレクトリ直下に.xvimrcファイルを作成して、.vimrcと同じように記述していく

1
vim ~/.xvimrc

5. 参考