『たのしいアプリプログラミング 〜 Swiftで始めよう!』revision 1.2公開。Xcode 6.1.1に対応。 | HMDT Blog

『たのしいアプリプログラミング 〜 Swiftで始めよう!』revision 1.2公開。Xcode 6.1.1に対応。


icon512 icon512

ご好評いただいている『たのしいアプリプログラミング 〜 Swiftで始めよう!』ですが、コンテンツの更新を行いました。revision 1.2となります。アプリをダウンロード済みの方は、起動すると更新された旨を通知するアラートが出るので、そこから更新してください。

今回の更新は、まずXcode 6.1.1への対応。Xcode 6.1.1では、Xcode 6.1からAPIが変更されました。またかよ、おい。うちの本に関係するのは、UITableViewCellクラスの、textLabelプロパティです。これ、Xcode 6.0ではtextLabel?と、オプショナルが付いていたのですが、Xcode 6.1で外れました。そして、Xcode 6.1.1で復活しました。おいおい、先祖帰りかよ。変更されるたびに、ソースコードの方で?を付けたり外したりすることになります。今回は、?を付ける方になりますな。ダウンロードできるサンプルの方も、更新しましたよ。

さらに、本文7-5-4でニュースサイトのRSSをJSONに変換して読み込むんですが、そこでエラーが発生するという報告をいくつかいただいたので、追記しました。エラーが発生した場合、こうやってデバッグしてみてね、ということを書いてあります。

あとは、いくつかの誤植の修正とかですね。

ちなみに、その他の動きですが、『たのスイ[有料版]』は、バージョン1.0.1が審査中です。去年からIn Reviewのまま、ずっと動いておりません。これが公開されたら、検索機能およびコメント機能が実装されたバージョン1.1を審査に出します。

さらに『たのスイ for OS X』を執筆中です。たのスイの内容で、OS Xアプリを作ろう! というものです。これは、今週中には書き終わって、審査に出せるんではないかと思います。ただ、こっちの本は掲載されるサンプルがOS Xのものなので、iOSアプリではサンプルが動かないんですよね。これだと、アプリ版が審査通るかどうか微妙、と考えています。

  1. もうSwiftがらみというか、Xcodeがらみは更新ができる電子書籍にした方がいいのかもしれませんね。
    知り合いの編集者も泣きが入ってます。

      • mkino
      • 2015年 1月6日

      本当に。
      紙で作っても、半年もたないよ。

    • kitamura
    • 2015年 1月6日

    ここで質問するようなことじゃないのですが、助けていただけないでしょうか。
    実は、Xcodeのステップ実行時のデバッガの動きが、想定とは異なり、非常に困っています。
    Flappy Swiftをデバッグ中です。

    https://github.com/fullstackio/FlappySwiftのGameViewController.swiftの下記行にbreakを設定し、breakで止まったあと、ステップ実行すると、下記の数字をつけた順にステップ実行されます。通常なら、1,2,3で終わるはずなのに、なぜそのあともステップ実行のカーソルが動き続けるのか、さっぱりわかりません。だいたいこういうことが起きる時って、最適化が原因だと思うのですが、調べたところDebugビルドでは最適化なしになっておりました。もし何か知っていましたら教えて欲しいです。

    override func supportedInterfaceOrientations() -> Int {
    ① if UIDevice.currentDevice().userInterfaceIdiom == .Phone { →この行にbreak設定
    ②④  return Int(UIInterfaceOrientationMask.AllButUpsideDown.toRaw())
     } else {
    ⑥  return Int(UIInterfaceOrientationMask.All.toRaw())
     }
    ③⑤⑦}

    • kitamura
    • 2015年 1月8日

    別に上記のソースコードじゃなくてもいいのですが、
    Xcodeのデバッガの動きがおかしいことってないでしょうか?

    ちなみに、上記のすべての行にbreakはって、停止したら再実行を繰り返す場合(すなわちステップ実行出ない場合)は、①、②、③で終了します。摩訶不思議です。アップルのバグなのでしょうか?

      • kitamura
      • 2015年 1月8日

      (すなわちステップ実行出ない場合)→ステップ実行しない場合