読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #255】独自クラスでログ出力(description)を実装する

Swift

はじめに

NSObjectを継承しているクラスであれば、
初期化したオブジェクトでdescription関数を
実行すると何らかのログが出力される。

print(CustomClass())

NSObjectを継承しないカスタムクラスを作成した場合、
CustomStringConvertibleプロトコルを採用し、
descriptionメソッドを実装する必要がある。

実装

例えば、CustomClassというクラスを作成。
printlnで実行すると

「xxxさんはxxxが好きです。」

と表示されます。

import UIKit

class CustomClass: CustomStringConvertible{
    let name: String
    let hobby: String

    init(name:String, hobby: String){
        self.name = name
        self.hobby = hobby
    }
    // descriptionの実装
    var description: String{
        return "\(name)さんは\(hobby)が好きです。"
    }
}

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let obj = CustomClass(name: "佐藤", hobby: "旅行")

        // ログ出力
        print(obj)

    }

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

}

実行結果

f:id:fjswkun:20150914090418p:plain



おわりに

サンプルアプリの全ソースはコチラからダウンロード。

参考情報

  1. iOSアプリ開発未経験の人向け
  2. iOSアプリ開発をはじめたとき最初に買った書籍 【アプリ作成未経験の人向け】
    Storyboardを使って画面を作成していく。
    手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
    アプリって、こんな感じで作るんだというのを体験できる。
    Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

    Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift