potatotips #81 iOS/Android開発Tips共有会 https://potatotips.connpass.com/event/272353/
## 参考リンク
- 個人 iOS アプリ https://github.com/uhooi/Loki
- `.init()` の記事 https://qiita.com/uhooi/items/1cac84c2918be563941b
Android アプリエンジニアがSwift を読むときのギモン2023.02.21(Tue) potatotips #81 iOS/Android開発Tips共有会@the_uhooi
View Slide
iOS app developer @uhooi@uhooi@the_uhooi
みなとみらい最高!
話す内容私の個人 iOS アプリを現役 Android アプリエンジニアに読んでもらって出てきた疑問を紹介します
・モジュール分割・アーキテクチャ・命名 を Android と完全に揃えた→これで読みづらい箇所が Swift の言語仕様に ある程度絞れるはず…!私の個人アプリ
Q1iOS ってよく Router というのが出てくるよな〜
Q1iOS ってよく Router というのが出てくるよな〜Router は Android でも使うのかと 思っていた
Q2protocol は確か interface のこと だったっけ?
Q2protocol は確か interface のこと だったっけ?そう! (強い人に怒られるかもだけど)
Q3画面に表示する要素を UiState としているのも合わせている?
Q3画面に表示する要素を UiState としているのも合わせている?そう! iOS だと VM に単体のプロパティとして持たせることが多い
Q4case .new: のように唐突なピリオドが多い
Q4case .new: のように唐突なピリオドが多い唐突なピリオドは enum で型を省略するときに使う!
Q5\.index の意味がわからない
Q5\.index の意味がわからない「KeyPath」という概念で、正直 オレもよくわかっていないw
Q6とにかく記号がわからん。 Swift って記号多い?
Q6とにかく記号がわからん。 Swift って記号多い?確かに省略や記号が多いかも。 言われて気づいた
Q7永遠の謎だけど .init() だけの 表記がわからない
Q7永遠の謎だけど .init() だけの 表記がわからない型を省略したコンストラクタ的な。詳細はワイの記事を見て
Q8extension で表現するのわからん。 メリットあるの?
Q8extension で表現するのわからん。 メリットあるの?プロトコルを1つずつ準拠させると メソッドの紐付きがわかりやすい
Q9なんで isNotEmpty を使わずに !saunaSets.isEmpty とするの?
Q9なんで isNotEmpty を使わずに !saunaSets.isEmpty とするの?そんなものはない
Q10似ている部分があると気になって 集中できない
Q10似ている部分があると気になって 集中できないなるほど参考になる
Q11すごいまじでなんとなく読める。 Android に寄せると読めるんだな
Q11すごいまじでなんとなく読める。 Android に寄せると読めるんだな(この言葉を待っていた…!)
・Android に寄せると何となく読める・でも言語仕様がわからないと完全には読めない・みんな Swift にも入門しよう! 待ってるよ!まとめ