前回お知らせしていたように第1回 Tech-Gym byプラスアール @SMS : ATNDというiOS勉強会を開催しました。


HealthKit.framework概要 - azu

スライド: HealthKit.framework概要

私はHealthKit.framework概要というテーマで発表しました。

基本的にはブログで紹介していたものをまとめた感じになっています。

またスライドではコードはあまり含めていませんが、実際に動くものとして以下にそれぞれサンプルコード、アプリを用意してあります。 

HealthKitは非同期APIのインターフェイスの勉強にもなるので興味を持ってるひとは見てみるといいですね。

以下は、私がメモしたものとなっています。


ViewはModelの写像であるということ – akuraru

  • MVCの概要
    • 機能ごとに分離する事で読理性を確保できるパターン
      • それぞれのライブラリを使って実装する 
    • 再利用性を高める
    • ControllerはModelからデータを取ってきて、Viewを作って表示する
      • コントールはモデルを読み込む
      • Viewを生成する(Xib,Storyboardでやる)
      • ViewにModelを反映させる
    • TableViewとModel
      • 1Cell = 1Model でやることが多い
    • View に Modelを渡す = ViewはModelは写像
  • Modelの変更
    • Cellは隠れしまうと、入ってたデータが消滅してしまう
    • ユーザーが入力したデータはスグにモデルに入れておく必要がある
    • NSManagedObjectの場合
      • 直接して変更してしまうと、キャンセルしたつもりでも他の画面の保存に巻き込まれる
      • 変更を破棄する必要がある == Undoする必要がる
        • Undoをするのは結構大変
      • または別のContextを用意して保存
        • 現実的に大変
  • 独自のデザインパターン – Wrapper Object
    • 編集画面でのViewの即座に反映させるパターン
    • ManagedObjectと同じプロパティを持つ
    • コンテキストを増やさずに変更可能ManagedObjectと振る舞う
    • 実際に書き込むタイミングになったら、ManagedObjectにコピーする
    • Wrapper Object
      • 同じプロパティ
      • 変更したいNSManagedObject
      • それぞれ持つオブジェクト
      • 反映させたい時は、別のメソッドを呼ぶ
      • Diaryがnilなら新規作成するため
    • WrapperObjectは自動的に作るの?
      • 短い場合は手動で作成する
      • 多い場合は自動で作ったりする

       


未来の自分を楽にするテクニック – 和田

  • 2年後の自分に自慢できるものはありますか?
  • Tips1 : Developer Documentを読む
    • やはり一番の基礎
    • ノイズの除去
  • Tips2: ⌘ + Shift + f(Xcode)
    • コーディング規約のすべては検索のため
    • いかに自分の書いたことを2ステップで目的地に辿り着ける
    • 検索にヒットしないツールは使わない
  • Tips3: 次期OS対策
    • β版は静観する
    • 不具合が多いので調べる情報を適宜収集
    • リリースされそうな空気を感じてからやる
  • Tips4: OSSの利用法
    • UIに関連するものは使用しない
    • 中身を参考にして知識のカテにする
    • iOSで変わってしまうので、UIにOSSをまぜると大変になる
  • Tips5: 実機検証は必要不可欠
    • 画面サイズはSimulatorで十分
    • アーキテクチャの違い(arm64, armv7s)を押さえる 
    • アーキテクチャの違いによる検証は必要
  • Tips6: iOSを知る
    • iOS癖を知る
      • 何か別の利用法があることに気づける
    • MacOSを知る
      • iOSの派生元になってる
    • 中身を知る
  • Tips7: 使えるモノは使う
    • Private APIも使い方によっては使える
    • UIWebViewのページのタイトルを取得するケース
  • 基本的な技術について
    • 全てのツールを使う必要はない
      • 基本的な知識を知ってると色々できる
    • 言語の理解
    • 必要最低限のツールをマスターする
    • 必要最低限のライブラリを使いこなす
      • Appleのクラスは大体統一されてる
  • JAHISお薬手帳データ・フォーマットについて
    • CSV形式のデータ
      • 必要最低限のデータしか入ってない
      • 人間のサポートが必要なレベル
    • QRコード読み取りライブラリが必要
      • ZXing仕様上の注意
      • 2枚以上のQR読み込み処理が必要
      • 読み取り性能の改善も必要
      • CoreImageを使っての読み込みは2枚以上の対応が難しい

会場を貸していただいたエス・エム・エスさん、参加してくださった皆さん本日はお疲れ様でした。

Post Navigation