LoginSignup
4
3

More than 5 years have passed since last update.

DeNA × Sansan iOS Engineer Night に行ってきた

Posted at

DeNA × Sansan iOS Engineer Night

2015/10/22
http://connpass.com/event/21159/
遅ればせながらメモを投稿

Swift Class or Struct

Akifumi @DeNA

Classの問題点

  • 暗黙の共有(参照型のため)
  • 継承問題
  • 型ロスト、ダウンキャストでロストする

Struct

Class:参照型

Struct:値型

StructでもProtocolを継承できる。

Swiftはプロトコル指向言語である。Classの問題点に悩まされずに済むので使ってみましょう。

iOS9 ショートカット

金子拓司 @Sansan

Home screen quick actions

ホーム画面で3D Touch使うと出てくる

Static quick actions

  • ユーザーの状態に依存しないアクション
  • インストールすると使える
  • 固定のアクション

Dynamic quick actions

  • ユーザーの状態に依存するアクション
  • 起動しないと使えない
  • 起動しないと更新されない
  • version info をplistに保存しておくとよい

Search API

  • Spotlight API
  • 検索indexにデータを追加する
    CSSearchableItemとか
  • Spotlightからのアプリの起動

ショートカット作り過ぎると

  • UIApplicationDelegateが肥大化する
  • リファクタリングする
  • 目的の画面に至るまでに、複雑な画面遷移が必要になる。
  • Modalで画面を出しても支障ないのなら、そうする。

Xcode7 Tips

Koji @DeNA

Storyboard Reference

複数人で触るとコンフリクトする悩みから解放

Editor -> Refactor Storyboard

UIStackView

AutoLayoutの制約を何個も使わなくていいから楽。

左から右にStackViewを積む

ExtraView

UI Test

  • テストコードをswiftで書ける
  • シュミレーターでの動作を記録して、テストコードを生成してくれる

Swift

playgroundでライブコーディング

try catch

  • try? try!
  • type safe
  • guard
    if文をスッキリ書き換えられる
  • デフォルト引数の補完がよくなった

Bundle Identifier

Build Settingsに追加された。Debugとか構成ごとに自在に変えられるので便利。

iOS Refactoring

Sansan @kazu0620

Anti Pattern

  • 命名が悪い. btn
  • マジックナンバー
     enum使おう
  • CGRectMakeFrame
    動的なviewでもstoryboard、Auto Layout で意外といける
  • modeが大すぎ、8個? 過剰な分岐が必要になる
  • クラスの名前が抽象的。責務を限定して、分かりやすい名前にする。

Fat ViewController

  • 行数が多すぎ
  • Modelで切り出す
  • Viewで切り出す
  • チュートリアルやガイダンスの状態管理を別のモデルクラスで切り出す
  • 複数のmodelを書き換える。serviceクラスを使う

AppDelegateの肥大化

NSNotificationは各View Controllerで

Fat Storyboard

Notification, Delegate, KeyObserver

通知元と通知先の関係を考える.

1対1か、1対N か

悪いコードを放置しない

  • ボーイスカウトルール
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3