開発のプロが教える Swift標準ガイドブック | マイナビブックス

開発のプロが教える Swift標準ガイドブック

  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

Swiftで効率良くコードを記述するための、本格派解説書。

2014年6月、WWDC2014で発表されたプログラミング言語「Swift」の本格派解説書の登場です。

本書では、アプリケーションを作成するための説明を必要最低限にとどめ、Swiftを深く理解してもらうことに注力しています。Objective-Cとはまったく違うモダンな文法はもちろん、型の宣言を省略することができる型推論、複数の値を1つの変数に格納できるタプル、そして機能豊富な構造体や列挙体、オプショナル型などの最新機能、さらにはジェネリクスやカリー化など、可能な限り細かく言及しています。
また、言語仕様から一歩踏み込んで、既存のObjective-CのコードをSwiftに置き換えていく方法や、Objective-CとSwiftを同一プロジェクト内で共存させる方法など、実践的な内容まで、現場の開発者が徹底解説しました。

「Chapter1 Swiftの概要」では、Swiftの基本を解説します。併せて開発環境の構築方法やPlaygroundの使い方なども紹介します。
「Chapter2 基本文法」では、Swiftの基本文法や基礎的な機能、概念について解説します。
「Chapter3 関数とクラス」では、関数やクラスの解説に加え、構造体や列挙体、タプル、クロージャ、プロパティなど、Swiftでコードを書く上で必要不可欠な機能を細かく解説していきます。
「Chapter4 オプショナル型」で紹介するオプショナル型とは、変数にnilを許容する特別な宣言とその仕組みのことを指します。Swiftの代表的な特徴の1つですので、この章で仕組みや扱い方まで解説します。
「Chapter5 標準ライブラリの利用」では、OS X・iOSの標準的なフレームワークとの共存についてや、UIKitやObjective-Cで実績のあるKVC・KVOの仕組みなどを使い、どのようにSwiftで実装すべきかを解説します。
「Chapter6 予約語とアトリビュート」では、Swiftの予約語(特定用途に利用されるよう定義されていて、変数名やメソッド名などに使えない単語)とアトリビュート(宣言に属性を付与する特殊な単語)に関して解説します。
「Chapter7 Objective-Cとの相互利用」では、Objective-CとSwiftを相互に利用するコツを解説します。既存のプロジェクトを抱えている開発者は、今まで築き上げたライブラリの扱いに頭を悩ませるかもしれません。しかし、Objective-Cで記述されたライブラリやコードは、Swiftで簡単に取り扱うことが可能です。
「Chapter8 実践と応用」では実践する際の知識として、Swiftでテストコードを記述する方法のほか、他言語をブリッジしてSwiftで扱えるようにする方法などを解説します。

本書が現場で開発に携わる方にとって、コーディングの効率化や、プログラムの精度の向上、より良い、面白いアプリの開発の手助けになれば幸いです。
Swift 1.1対応。

続きを読む

電子版の購入は姉妹サイト「IT書籍ストア Manatee」がオススメ!
充実のラインナップに加え、割引セールも定期的に実施中!

商品を選択する

フォーマット 価格 備考
書籍 3,839

電子書籍フォーマットについて

  

備考

●著者プロフィール
・渡辺 龍司(わたなべ りゅうじ)
エキサイト株式会社所属。ソフトウェアエンジニアとして、主にiOSアプリケーション開発を担当。Windows PhoneやTizenなど新たなプラットフォームが公開されると、真っ先に私物として購入しアプリの移植や開発を行うなど、先陣を切る役割も担う。プライベートではフレンチブルドッグをこよなく愛し、世界中のフレンチブルドッグの写真を眺めるiOSアプリ「ふれぶる」をリリース。愛好家に愛用されている。

・富家 将己(ふけ まさき)
エキサイト株式会社所属。iOSアプリエンジニア。大学在学中に初めて触れたFlashでは絵が描けず挫折し、代わりにActionScriptによるプログラムを始める。卒業後に新卒で同社に入社。iPhoneの発表から猛烈な興味をもち、iOSアプリの開発に無理やり携わる。2011年リリースの「エキサイトニュース」がApp Store Best of Apps 2013に選出されるなど、担当したiOSアプリは40本を優に超える。

・鈴木 晃(すずき あきら)
株式会社OTSL所属。ソフトウェアエンジニア。ちっちゃいガジェットで自分が書いたプログラムが動くことが楽しく、ソフトウェア研究者から転身。iOSもAndroidも好きだけどプログラミング言語そのものも好物。主な著書は『ハッキングLinuxザウルス』(共著・ソフトバンククリエイティブ刊)、『iPhone & Androidクロスプラットホームアプリケーション開発』(弊社刊)、『はじめてのiPhoneアプリプログラミング』(秀和システム刊)、『上を目指すプログラマーのためのiPhoneアプリ開発テクニックiOS7編』(共著・インプレスジャパン刊)など多数。

・加藤 寛人(かとう ひろと)
アヴァシス株式会社勤務。組み込み技術者として、各種ファームウェア開発を担当。「PastVid」(スキップバックレコーダー)をはじめ、プロ・教育者の利用に耐えうるiOSアプリを公開している。主な著書は『上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編』(共著・インプレスジャパン刊)、『OS XとiOSのためのOpenCV環境構築ガイド』(共著・カットシステム刊)など多数。妻と3人の喧しくも可愛い子供達が心の支え。

●編集者プロフィール
・丸山 弘詩(まるやま・ひろし)
書籍編集者。iPhoneやAndroidなどスマートフォン全般、BSDならびにUNIX関連に深い造詣を持つ。関連書籍の執筆・編集はもちろん、アプリケーションの企画・開発、運用やプロモーションを手掛け、さまざまな分野のコンサルティングやプロダクトディレクションなども担当。

関連ページ

目次

Chapter01 Swiftの概要
1-1 Swiftとは
   1-1-1 Swiftの特徴
   1-1-2 開発者への配慮
   1-1-3 公式資料
1-2 開発環境
   1-2-1 Xcodeのインストール
   1-2-2 プロジェクトの作成
   1-2-3 画面構成
1-3 PlaygroundとREPL
   1-3-1 Playground
   1-3-2 REPL
 
Chapter02 基本文法
2-1 基本文法と変数
   2-1-1 基本文法
   2-1-2 変数と型
   2-1-3 型エイリアス
   2-1-4 タプル
   2-1-5 Optional型
   2-1-6 アクセスコントロール
   2-1-7 コンソール出力
   2-1-8 アサーション
   コラム:不変性の仕組みと考え方
2-2 数値リテラルと演算子
   2-2-1 数値リテラル
   2-2-2 一般的な演算子
   2-2-3 Swift固有の演算子
   2-2-4 優先順位・結合律
   2-2-5 カスタム演算子・演算子オーバーロード
   コラム:LiteralConvertibleとは
2-3 制御構文
   2-3-1 判定による制御
   2-3-2 ループ構文
2-4 文字列操作
   2-4-1 文字列リテラルで使用できる特殊文字
   2-4-2 文字列の結合
   2-4-3 文字列の比較
   2-4-4 同一文字の繰り返し
   2-4-5 空の変数判定
   2-4-6 文字数の取得
   2-4-7 先頭・末尾の文字列比較
   2-4-8 アルファベット変換
   2-4-9 数値型への変換
   2-4-10 UTFコードの取得
   コラム:最適化オプション
2-5 区間・配列・辞書
   2-5-1 区間(Range、ClosedInterval、HalfOpenInterval)
   2-5-2 配列(Array)
   2-5-3 辞書(Dictionary)
   2-5-4 構造体による範囲指定
 
Chapter03 関数とクラス
3-1 関数定義と呼び出し
   3-1-1 基本的な関数定義と呼び出し
   3-1-2 外部引数
   3-1-3 デフォルト引数値
   3-1-4 可変長引数
   3-1-5 戻り値
   3-1-6 参照渡し引数
   3-1-7 ネスト関数
   コラム:型の型
3-2 クロージャ
   3-2-1 関数の型
   3-2-2 基本的なクロージャ定義と特徴
   3-2-3 クロージャの省略形
   3-2-4 値のキャプチャ
3-3 クラス・構造体・列挙体
   3-3-1 クラスと構造体
   3-3-2 クラスと構造体の文法
   3-3-3 プロパティ
   3-3-4 メソッド
   3-3-5 添字
   3-3-6 継承
   3-3-7 イニシャライザ・デイニシャライザ
   3-3-8 アクセスコントロール
   3-3-9 循環参照の対策
   3-3-10 列挙体
3-4 プロトコルとエクステンション
   3-4-1 プロトコル
   3-4-2 エクステンション
   コラム:構造体の中のクラス
3-5 ジェネリック
   3-5-1 ジェネリックとは?
   3-5-2 ジェネリック関数
   3-5-3 ジェネリック型
   3-5-4 ジェネリックの型制約
   3-5-5 関連型
   3-5-6 ジェネリックでのwhere文
   コラム:継承したクラスにおけるメソッド使用上の注意
3-6 カリー化
   3-6-1 カリー化の定義
   3-6-2 Swiftでのカリー化
3-7 switchでのマッチング
   3-7-1 パターンマッチング
   3-7-2 switchのパターンマッチングの正体
 
Chapter04 オプショナル型
4-1 Objective-Cにおけるnil
   4-1-1 nilのメリット・デメリット
   コラム:空のコレクション定義
4-2 Optional型
   4-2-1 Optional型とは
   4-2-2 nilの代入
   4-2-3 Optional型への代入
   4-2-4 if文とOptional型のアンラップ
   4-2-5 Optional Binding
   4-2-6 ??演算子
4-3 Implicitly Unwrapped Optional型
   4-3-1 Implicitly Unwrapped Optional型とは
   4-3-2 Implicitly Unwrapped Optional型の利用例
4-4 Optional Chaining
   4-4-1 Optional Chainingとは
   4-4-2 Optional Chainingの利用
   4-4-3 Optional Chainingを用いた代入操作
   4-4-4 VoidとOptional Chaining
   4-4-5 プロトコルの任意実装なメソッド実行
   4-4-6 nilの安全な処理
   コラム:nilはどんな値よりも小さいと判断される
 
Chapter05 標準ライブラリの利用
5-1 Foundation
   5-1-1 Objective-C APIの呼び出し
   5-1-2 整数(Int・UInt・NSNumber)
   5-1-3 文字列(StringとNSString)
   5-1-4 [UInt8]とNSData
   5-1-5 配列と辞書(Array・DictionaryとNSArray・NSDicitonary)
   5-1-6 ポインタ
   5-1-7 ポインタへの値の返却
   5-1-8 クロージャとブロック
5-2 UIKit
   5-2-1 UIView
   5-2-2 UIViewController
   5-2-3 UIAlertController
   5-2-4 UIPrinterPickerController
   5-2-5 delegate、dataSource
   5-2-6 Selector
   5-2-7 StoryboardとIBOutlet、IBAction
   コラム:NSMutableArrayによる配列操作
5-3 KVCとKVO
   5-3-1 KVC(Key-Value Coding)
   5-3-2 KVO(Key-Value Observing)
5-4 Core Data
   5-4-1 NSManagedObjectサブクラスの作成
   5-4-2 NSManagedObjectサブクラスのプロパティ
 
Chapter06 予約語とアトリビュート
6-1 予約語
   6-1-1 予約語を知る
   6-1-2 予約語を識別子として使う
   コラム:Swiftのメソッド呼び出し速度
6-2 アトリビュート
   6-2-1 アトリビュートの文法
   6-2-2 宣言と型の属性
   6-2-3 Interface Builder用の属性
   6-2-4 UnDocumented
 
Chapter07 Objective-Cとの相互利用
7-1 SwiftからObjective-Cのコードを利用
   7-1-1 Objective-Cのコードを利用
   7-1-2 Objective-Cを利用する上での注意点
7-2 Objective-CからSwiftのコードを利用
   7-2-1 Objective-CからSwiftのコードを利用
   7-2-2 Swiftを利用する上での注意点
7-3 Swiftへの移行
   7-3-1 書き換えるファイルと削除するファイル
   7-3-2 プリプロセッサ
   7-3-3 インポート
   7-3-4 UIApplicationMain
   7-3-5 クラスとエクステンション、プロトコル
   7-3-6 プロパティ
   7-3-7 変数と型
   7-3-8 列挙体
   7-3-9 イニシャライザ
   7-3-10 セッター・ゲッター
   7-3-11 メソッド、クロージャ
   コラム:入れ子のOptional型とUIApplicationDelegate
7-4 Swiftへの移行(実践編)
   7-4-1 サンプルプロジェクト
   7-4-2 利用するフレームワーク
   7-4-3 オブジェクト配置と関連付け
   7-4-4 ライブビュー用クラスの作成
   7-4-5 キャプチャセッションのセットアップ
   7-4-6 ムービー撮影
   7-4-7 静止画撮影
   7-4-8 SNS投稿
   コラム:コマンドラインでの自作モジュールの作成と利用
 
Chapter08 実践と応用
8-1 テスト
   8-1-1 Swiftでの単体テスト
   8-1-2 XCTest
   8-1-3 Quick
   コラム:低レベル配列処理で速度を稼ぐ
8-2 ブリッジによる拡張
   8-2-1 ブリッジする言語の選定基準
   8-2-2 スタティックライブラリの準備
   8-2-3 プロジェクト作成
   8-2-4 言語へのアクセス方法を探る
   8-2-5 ブリッジコード
   8-2-6 Swiftからのアクセス
   コラム:デバッグ出力に便利な特殊リテラル
8-3 ライブラリ紹介
   8-3-1 swift-json
   8-3-2 Alamofire
   8-3-3 EmitterKit
   8-3-4 Surge
   8-3-5 GCDKit
8-4 デザインパターン
   8-4-1 デザインパターンの種類
   8-4-2 Factory Method
   8-4-3 Prototype
   8-4-4 Singleton
   8-4-5 Adapter
   8-4-6 Decorator
   8-4-7 Facade
   8-4-8 Strategy

最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにCCCMKホールディングス株式会社(以下、「MKHD」といいます)へ提供します。

  <提供目的>:MKHDの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、MKHDに提供された、以下の情報の利用については、MKHDの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(https://tsite.jp/contact/index.pl )

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?