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

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

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

【iOS Swift入門 #277】「失敗する可能性があるイニシャライザ」を定義する

この記事を読んでわかること

  • 失敗する可能性があるイニシャライザ

初期化に失敗させる場合

  • イニシャライザの中で各種プロパティの初期化に失敗した場合

失敗する可能性があるイニシャライザの定義

initではなく、init?でイニシャライザを定義する。 注意すべきは初期化に成功した場合はオプショナル型のオブジェクトが返されること。

class Sales{
    let product:String
    let date:NSDate
    
    init?(product:String, dateString:String){
        self.product = product
        
        let formatter = NSDateFormatter()
        formatter.dateFormat = "yyyyMMdd HH:mm:ss"
        
        // 日付フォーマットに失敗した場合、初期化を失敗させる
        guard let date = formatter.dateFromString(dateString) else{
            return nil
        }
        self.date = date
    }
}

// 初期化に成功
let todaySales = Sales(product: "テレビ", dateString: "20160621 18:19:23")

// 初期化に失敗した場合はnil
let yesterdaySales = Sales(product: "洗濯機", dateString: "2016-06-20 10:23:20")


参考情報

Swift

iOSアプリ開発未経験の人向け
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

詳解 Swift 改訂版

詳解 Swift 改訂版