この記事を読むのに必要な時間:およそ 0.5 分
ダウンロード
以下のファイルをダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。
なお,書籍内容に正誤が確認されましたため,サンプルファイルを一部修正しました。2017年7月9日以前にダウンロードされた方は,お手数ですが,再度ダウンロードをお願いいたします。
(2017年7月10日最終更新)
- ダウンロード
- サンプルファイル
お詫びと訂正(正誤表)
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2018年11月1日最終更新)
P.378 2つ目のコードの1行目
誤 |
|
正 |
let client = GitHubClient()
|
(以下2017年12月18日更新)
P.67 コードの7行目
(以下,2017年7月10日更新)
第1刷をお持ちの方へ(2刷は修正済み)
P.86 コードの6行目
誤 |
case 0..<Int.max:
print("aは正の値です")
|
正 |
case 1..<Int.max:
print("aは正の値です")
|
P.315 下から6〜7行目
誤 |
case let .success(name):
print(".success: \(name)")
|
正 |
case let .success(user):
print(".success: \(user)")
|
P.322 最終段落とそれに続くコード
誤 |
関数内で引数のクロージャが発生させるエラーを処理し、別のエラーを発生させることもできます。次の例では、引数throwingClosureが発生させるエラーSomeError.OriginalErrorを処理し、catch節内で別のエラーSomeError.ConvertedErrorを発生させています。
enum SomeError: Error {
case originalError
case convertedError
}
func rethorwingFunction(_ throwingClosure: () throws -> Void) rethrows {
do {
try throwingClosure()
} catch {
throw SomeError.ConvertedError
}
}
do {
try rethorwingFunction {
throw SomeError.OriginalError
}
} catch {
error // ConvertedError
}
|
正 |
関数内で引数のクロージャが発生させるエラーを処理し、別のエラーを発生させることもできます。次の例では、引数throwingClosureが発生させるエラーSomeError.originalErrorを処理し、catch節内で別のエラーSomeError.convertedErrorを発生させています。
enum SomeError: Error {
case originalError
case convertedError
}
func rethorwingFunction(_ throwingClosure: () throws -> Void) rethrows {
do {
try throwingClosure()
} catch {
throw SomeError.convertedError
}
}
do {
try rethorwingFunction {
throw SomeError.originalError
}
} catch {
error // ConvertedError
}
|
(以下,2017年5月29日更新)
P.302 2段落目(2箇所)
誤 |
cancelledプロパティ
|
正 |
isCancelledプロパティ
|
(以下,2017年5月25日更新)
P.137 2つ目のコード
誤 |
didSet {
プロパティの変更前に実行する文
}
|
正 |
didSet {
プロパティの変更後に実行する文
}
|
(以下,2017年3月15日更新)
P.xxi 13.6節の見出し
誤 |
アサーションよるデバッグ時のプログラムの終了 |
正 |
アサーションによるデバッグ時のプログラムの終了 |
P.44 下から9行目
誤 |
let characters = characters.characters |
正 |
let characters = string.characters |
P.177 8行目
誤 |
続いて2段階初期について解説します。
|
正 |
続いて2段階初期化について解説します。
|
P.264 8行目
誤 |
guard let id = json["age"] asς Int, |
正 |
guard let id = json["id"] asς Int, |
P.264 実行結果
誤 |
Invalid JSON |
正 |
id: 123, name: Yusei Nishiyama |
P.339 13.6節の見出し
誤 |
アサーションよるデバッグ時のプログラムの終了 |
正 |
アサーションによるデバッグ時のプログラムの終了 |
P.397 下から6行目
誤 |
print(type(of: objcClass.nonParameterizedDict)) |
正 |
print(type(of: objcClass.array)) |