大切なのはアウトプットとコミットメント。 忘備録てきなかんじです。
iOS Swift 書評
## iOSアプリ開発始めた人が読むとためになる本 XCTest(Xcode)を使ったiOSのテストコードの書き方について書かれた数少ない本。 UIテストの自動化しようかな〜と思って読んだのですが、テスト手法について詳しく書かれていてよかったです。 肝心のUIテスト...
iOS Swift
UITestを作成しようとすると、わからなくて調べるのに時間がかかります。 カスタムUIをタップしたかったのですが、UIの取得方法がわからなくて時間がかかったので方法を残しておきます。 ## otherElementsを使う Viewではidentifierを付...
Swift watchOS
## .activeはUIが表示された後からCallされる Apple WatchのアプリをSwiftUIで作成していて、画面が表示されたタイミングで行いたい処理を記述しようとした時に、Appleのドキュメントを見ながら以下のように実装しました。 ```objc `gut...
## QRコードをスマホで持ち歩きたい 子供を保育園に送っていった時に、QRコード使ったシステムで登園記録しています。 QRコードを紙とかで持ち歩くのが大変なので簡単なアプリにして家庭で使っていました。 これ、他の人にも便利かと思って、任意のQRコードを取り込ん...
Swift 書評
最近SwiftUIでアプリを作成し始めたのですが、Appleのチュートリアルをやっただけでは細かいところがわからなかったので読んでみました。 ## 良いところ - SwiftUIについて一通りの説明が揃っている(レイアウトの仕方〜データバインディングまで) - UIとデ...
XcodeでiOSのプロジェクトを作成すると、デフォルトでMain.storyboardやViewControllerが作成されて、プロジェクトが汚れています。 (初めて作る人や、実験をしたいだけの場合は良いのですが) プロジェクトを進めていくために、不要なViewC...
## iOSアプリの設計パターンについて iOSアプリを開発する場合、単純に実装していくと、UIViewControllerが肥大化する(ファットビューコントローラー)になりがちです。 またそういったパターンの場合、ビジネスロジックに対してユニットテストが実施しにく...
[iOS] UILabelのつぶれにくさを調整して狙ったUILabelの文字列を全て表示させる UILabelを並べて表示する際に、文字列が長くて文字が被る場合があります。 そんな時に、どちらかの文字列を全て表示したいなどの時に調整する方法です。 以下のようなコー...
先日、Xcode10.3でビルドしていたプロジェクトをXcode11.3にアップデートしてiOSアプリを更新しました。 更新内容は以下の通りです。 1. Xcodeのバージョンアップ 2. Swiftバージョンアップ(3.3 -> 5.0) 3. 使っているO...
Swift
Swift 5.0からisMultipleを使う事ができます。 引数の倍数かどうかBoolで返してくれます。 (i % 3 == 0 などの代わりに使えます) 使用例: FizzBuzz ```objc `gutter:true; for i in 1......
Swiftの文字列補完(String Interpolation)の使い方をまとめます. ## 自作クラスをstring interpolationに対応させる ```objc `gutter:true; // 自作のクラスを文字列内で展開させる extension...
Swift 5.0からResult型が導入されました。(最近知りました。) Result型を使うタイミングについて調べていたら、Manual Propagation, Automatic Propagationと言う言葉が出てきて勉強になりました。 Result型はM...
Swift 5.0からはRawStringが使えるようになりました。 具体的には以下のような物です。 ```objc `gutter:false; let someNumber = 123 let rawStr = #"Hello "New...
iOSのアプリを開発する場合、UIを作成するのにXibを使ってグラフィカルにUIを組んでいく場合と、ソースコードで全て記述するパターンと2種類の方法があります。 (SwiftUIを使わないパターンを想定しています。) Xibを使うとグラフィカルにできる一方、Xibファ...
Swiftの辞書は値型だそうです。 辞書の中に辞書や配列をネストして入れている場合に、中身を書き換える方法について調べました。 (もっといい方法があったら教えて欲しいです...) ```objc `gutter:true; // 辞書の中の深い部分を書き換え...
Swiftで文字列を切り出す方法はいくつか方法があります。 ここでは、例として5文字目まで切り出す場合を考えます。 (Swift 5.2で検証しています) ## Rangeを使う ```objc `gutter:true; let str = "abcd...
改行コードの種類に関係なく文字列を分割して処理したい時に、Swiftでは以下のようにすると思ったように分割できます。 Swift 5.2以降じゃないと動作しないので注意。 ```objc `gutter:true; // splitで分割 _ = "Hel...
Swiftでは計算結果がオーバーフローするとExceptionが発生してプログラムが停止してしまいます。 そんな時のために、計算結果がオーバーフローするか調べる関数があります。 ```objc `gutter:true; let val = 1000_000_00...
Puzzle Swift 競技プログラム
L - Interactive Sorting 「達人プログラマー」に言語の理解を深めるには競プロをやるべし。と記載されていたので、競プロを初めてみました。 (実際には過去問考えるだけですが...) swift5を使いたいので、(Language Test 202...
Substringを使ったSwiftのコードを見ていて、疑問になる部分がありました。 こんな感じのコードです。 ```c `gutter:true; var str: Substring? = .init("Hello World") fun...