Google+ もご覧ください
ユーザーアイコン

Swift入門

第一回 UITableViewを使って表示してみる

第一回 UITableViewを使って表示してみる

アップルが突如iOS/Mac OSXアプリ開発用言語Swiftを発表しました。ObjectiveーC代替になる言語ですが、これまでと言語体系が全く異なるので混乱されている方も多いのではないでしょうか。

そこで今回からSwift入門としてSwiftの構文やUIと絡めたコーディングなどを紹介していきたいと思います。まず今回はDeveloping iOS8 Apps Using Swift – Part 1- Hello Worldの記事を参考にUITableViewにデータを表示するところを行ってみましょう。なおコードはGitHubにアップロードしてあります。

プロジェクト作成

Xcodeでプロジェクトを作る際にSwiftを指定すると ViewController.swift として次のようなコードが自動的に生成されます。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

いつも見慣れているObjective-Cとさほど変わりませんね。

StoryBoardの設定

次にStoryBoard側でTableViewをドロップし、そのデータソースとしてView Controllerを指定します。これでUI側の準備は完了です。

ViewController.swift の修正

続いて ViewController.swift を修正します。まずprotocolの設定です。

class ViewController: UIViewController {

  ↓

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

となります。これでDelegateも扱えます。

TableViewを表示する際に必要になるメソッドは二つあります。

func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!

これによって実装すると次のようになります。

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


    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")

        cell.text = "Row #\(indexPath.row)"
        cell.detailTextLabel.text = "Subtitle #\(indexPath.row)"

        return cell
    }

動作テスト

実際に動かすと次のようになります。


これで今回は終了です。Swiftはぱっと見、LL言語のように見えるので扱いが簡単になったような感じますね。今度、どんどん出てくるSwiftを使ったアプリソースなどを見て学習していきたいと思います。

今回のコードはGitHubにアップロードしてあります。

Swift
タグ:

記事をリクエストする

関連記事

コメント