たのしいSwiftプログラミング発売、さっそく正誤表や電子版のことなど
久しぶりに新しい本を書きました。『たのしいSwiftプログラミング』です。昨日、10/26に発売になりました。
『たのしいCocoaプログラミング』(略称たのココ)に続く、たのしいシリーズです。新言語Swiftを使ったプログラミング入門書になっています。ターゲットとなる読者は、いままでまったくプログラミングの経験がない人。プログラムって何? というゼロの状態から、最初のアプリを組み上げるまでを説明します。
たのしいシリーズの特徴は、独特な語りかけるような文体で書かれていること。技術書らしからぬ読み口で、挫折せずに、最後まで一気に読ませます。
で、出したのですが、本に載っているサンプルが動かない、という状況が発生しています。これがですね、本の内容はiOS 8の正式版が出た時点ですべて検証したんですよ。校正して校了したのが10/8くらい。ふー、やれやれ、終わったー、と思っていたら、10/20にiOS 8.1が登場しました。まぁ、0.1のアップデートだからマイナーなバグ修正だよね、と思ってたら、何を考えたのかSwiftのAPIを変えてきやがりました。んな、アホな!
8.0から8.1のアップデートで、いままでコンパイルが通っていたSwiftのコードが通らなくなりました。APIの変更といっても微細なことで、オプショナル型が一部変わったんですね。あの、「!」とか「?」ってやつね。小さな変更でも、一箇所でもコンパイル通らなくなれば惨事になっちゃうよな。ベータのときもしょっちゅうオプショナル型変えていたから、嫌な予感はあったんだけども。
ということで、10/27に発売となったこの本は、登場した時点でコンパイルに失敗するコードが掲載されることになってしまいました。新しい言語なので仕様が固まっていないのはよくあることなんですけど、8.0から8.1で変更かけてくるのは納得いかないなあ。APIリファレンスの変更も追いついていないし。正直、憤りのあまり、銀座のApple StoreにいってiPhone 6 Plusを全部曲げてこようかと思いました。
サンプルや正誤表の方は、いま出版社さんとやり取りして準備してもらっています。少しお待ちください。明日中くらいにはなんとか。
このままってのもよろしくないので、電子版を準備しています。まずは、融通が利くアプリ型で。電子版は、iOS 8.1への対応、Yosemiteへの対応、いくつかの記述の追加などを加えた、rev.1.1的なものになります。
そうすると、紙の本を買っていただいた方に不利益が生じるので、特別価格か無料で提供できるよう、調整しています。問題になるのは、紙の本を買ったということを、どうやって判断するかですね。特に仕込みをしてなかったからなぁ。本の写真を撮ってTwitterにアップしてもらおうかな。
ちょっとしばらくバタつきそうですが、最新環境のキャッチアップして、継続的に更新できる環境を整えたいので、少しお待ちください。
iOS開発に散々挫折してきたんですが今回は乗り越えることができそうです。
すごく良い本だと思いました。さっそくですが続きを書いてください!
木下様
たのしいSwiftプログラミングを購入して、本当にSwiftを
楽しく学ばさせていただいております。
ですが、Tableを使おうで下記コードでエラーがでて困っております。
お忙しいとは思いますが、教えていただけないでしょうか?
よろしくお願いいたします。
【コード】
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: “cell”)
ではなく
self.tableView.registerClass(UITableViewCell.self(NSObject), forCellReuseIdentifier: “cell”)
(NSObject)がXcode6.1+iOS8.1では出てしまいます。
Aga
Xcodeの補間でself(NSObject)と出ますが、無視して、selfとだけ入力してください。
クラス名に.selfを付けることで、そのクラスを取得することができます。
以前、あるマンガで印刷ミスがあって出版社が交換をしていたことが
あったんですが、そのときは交換申し込み兼購入証明の方法として
「本の裏表紙のバーコード部分を切り取ってハガキに貼って出版社に送る」
というものでした。
後日、修正済みの本と50円切手が送られてきました。
何かの参考になれば。