iOS 9 週連続 Bootcamp!6週目 UIKitとXCode7 イベントレポート

iOS9 Xcode7のイベントレポートです。

導入

iOS 9 週連続 Bootcamp!6週目 UIKitとXCode7 @dots http://eventdots.jp/event/573156

1.UIKit 平屋さん クラスメソッド株式会社

UIStackView、NSLayoutAnchor、UILayoutGuide のサンプルコード https://github.com/hirayaCM/iOS9UIKitDemos/

UIStackView

概要

viewを縦横にレイアウトするクラス

good

  • AutoLayoutの制約を設定する作業が減る
  • メンテナンスしやすくなる →それぞれの要素に制約を

今まで:それぞれのviewにautoLayoutを使用していた

caution

  • iOS9以降で使用可能
  • UIStackViewを仕組み自体を知る事が必要

仕組み(内部)

  • arrengeSubviews  →管理するviewの配列
  • axis  →整列する方向(水平/垂直)
  • distribution  →軸方向にviewをどう並べるか
  • alliment  →軸に対し垂直方向にviewをどう並べるか
  • spcing  →view間の感覚の設定

    仕組み(外部)

    UIStackViewの位置を指定する

NSLayoutAnchor

概要

NSLayoutConstraintを生成する為のクラス iOS9以降から 生成用メソッド6個のみ →他のviewのanchorと使用

good

制約を設定するコードが短くなる 読みやすい

参考

Reference

https://developer.apple.com/library/prerelease/mac/documentation/AppKit/Reference/NSLayoutAnchor_ClassReference/index.html#//apple_ref/occ/instm/NSLayoutAnchor/constraintEqualToAnchor:constant:

UILayoutGuide

概要

ホワイトスペースを定義する為のクラス (ホワイトスペース→コンテンツのない領域)

good

ホワイトスペースを軽く実装出来る 今まで:blankのviewを使用

プロパティ

Anchorを持っている →NSLayoutAnchorを使用できる UIViewではない →UIViewより軽量

caution

iOS9以降にて使用可能 SBでの追加は出来ない→見つかんない→コードで作成

memo

UILayoutGuideないときは等間隔にボタンを配置するとき結構面倒だったような。 ローカライズ対応で動的にボタンのサイズが変わる場合とか

2.XCode7

熊谷さん EZ-NET

Swift2

エラーハンドリング/foreach etc追加

呼出改装検索

機能がどこで使われているか検索出来る

インターフェイス定義の確認

@swift OBJ-c .hで使うとswiftで表示される 左上の四角→generete~で実行される interfaceのみ綺麗に表示される

無料のオンデバイス開発

developerにならなくても実機確認できるよ

ストリーボード参照

複数ののストリーボードを一枚で使用出来る http://dev.classmethod.jp/smartphone/iphone/storyboardreference/

オンデマンドリソース

AppStoreに画像等のデータを保持出来る

→ダウンロード時にソースのみ→随時画像等をAppStoreからDL が出来る

Resouce Tagsで設定

BuildSettingでデバッグ時のリソースサーバーを設定可能

UIテスト

画面操作を自動でテスト コードでアプリを操作 操作からコードを生成出来る

例:テキストフィールドに文字が入った時にボタンを押せるようになる

テストの登録

テストターゲットを登録 →UITestingbundle testで始まるメソッドを記載

テストコード書く

app/window/menubar/buttonのインスタンスをつくる button.click() AsserFalse(button.enabled)

操作からコードを生成出来る

左下のrecボタンで実際に動かした動作がコードに記載される

tips

ピンポイントに操作をコード化したい rec→一時停止→操作を進める→再実行→操作

結果

~で結果確認 lognavigatarで詳細確認→画面のスクショも見れる

caution

テスト中は実際に動作します! なので他動作は出来ない 時間がかかる →5.6個で10分くらい!?

コードカバレッジ

どのコードをどれだけ実行されたかを収集 使われた割合 メソッド/プロパティ毎に

good

テストの甘さが見れる

方法

Edit schem→test→gather coverge data でtestすればok

確認

lognaviで確認できる

エディタで直前にテストした時の呼出回数確認出来る editar→showcodecovergeで見れる

caution

テストの度に行われる

ドキュメントコメント

概要

コードの型/機能にコメント追加出来る

  • MarkDownっぽい!!

  • 装飾/画像/リンクが追加可能

  • Swift専用

  • プレイグランド強化 →readme的な事が作りやすくなる

書き方

コメント行内にmarkup

リッチコメント

ファイルインスペクタで変更可能

kobitoっぽくしてくれる //: /: /

参考

http://ericasadun.com/2015/10/15/announcing-swift-documentation-markup/

reference https://developer.apple.com/library/watchos/documentation/Xcode/Reference/xcode_markup_formatting_ref/index.html

公式レポート

dev.classmethod.jp