2017-01-01から1年間の記事一覧

UICollectionView の UICollectionReusableView の位置がおかしい時

class SampleListViewController: UIViewController, UICollectionViewDatasource, UICollectionDelegate { @IBOutlet weak var collectionView: UICollectionView! { didSet { collectionView.register( UINib(nibName: "FooterIndicatorView", bundle: nil…

for-case 文【Swift実践入門読書メモ】

Swift実践入門を読んでみて、気になったところのメモです。 for-case 文 第3章 3節 pp.91-92 Sequence プロトコルに準拠した型の要素のうち、パターンにマッチするものだけを列挙する繰り返し文です。 for 文にも case によるパターンマッチが行えて let num…

引数のクロージャの属性【Swift実践入門読書メモ】

Swift実践入門を読んでみて、気になったところのメモです。 引数のクロージャの属性 第4章 3節 pp.120-124 @escaping 属性 関数に引数として渡されたクロージャが、関数のスコープ外で保持される可能性があることを示す属性です。 こんな感じで使われます。 …

if-case 文 【Swift実践入門読書メモ】

Swift実践入門を読んでみて、気になったところのメモです。 if-case 文 第3章 2節 p.81 if-case を用いることで、以下のようなパターンマッチによる分岐が行えます。 if case 0...5 = 3 { print ("パターンにマッチしています") } 比較対象が式の右辺にくる…

画面遷移のアニメーションをカスタムする

UINavigationController を使った画面遷移のアニメーションのデフォルトは、横からスライドするアニメーションですが、これをカスタムすることができます。 最近、アニメーションをカスタムしたりといったようにカスタムトランジションについて学んでみたの…

UIPickerView に UILabel を表示するライブラリをつくった

タイトルの通り、 UIPickerView に UILabel を表示するライブラリを作りました。 github.com これを使うとこんな感じにコンポーネントごとに簡単にラベルを表示することができます。 なお、Carthage からインストールできます。 使い方 LabelPickerComponent…

iPhone用のアラームアプリを作った【iOS】

初の個人アプリをリリースしました! そのアプリがこちらです。 バイブアラームTatsuya Kojimaライフスタイル無料 簡単に言うとアラームアプリです。 アラームアプリは App Store にたくさんあるのですが、自分が欲しかった 秒まで指定できる 通知はバイブレ…

Auto Layout の Content Hugging Priority と Content Compression Resistance Priority

iOS

すぐ忘れるので。 Content Hugging Priority コンテンツの表示サイズに沿って表示されることの優先度。 そのため、この値が大きい方が優先的にコンテンツと同じサイズになる。 Content Compression Resistance Priority コンテンツが圧縮されないことの優先…

iOS の時間表示設定を取得する

iOS の日付と時刻の設定の24時間表示が ON になっていれば24時間表示用の UILabel を、そうでなければ12時間表示用の UILabel を表示するという用に、時間表示設定によって View を切り替えたいと思ってググってみたのですが、解決策が見つからなかったので…

Swift の Date の操作

Date の操作方法が全く覚えられないので、調べたことをここにまとめていく。 日時を指定して Date 生成 Calendar(identifier: .gregorian).date(from: DateComponents(year: 2017, month: 8, day: 13)) ある Date の次の日の Date 生成 Calendar(identifier:…

UnitTest 用のデータを共通化する【Swift】

テストをする際には複数のオブジェクトの初期化をする必要があり、この作業が面倒でテストを書くのが面倒になってしまうことがあったので、どうにかできないかと思い調べてみたところ、良さそうな方法がありました。 clean-swift.com これを、自分が使いやす…

Swift化開発合宿 in 熱海♨️

先日、会社のモバイルエンジニア5名でSwift化開発合宿に行ってきました! 普段はなかなか Swift 化を進めることができないので、こういった機会を設けてガガガっと進めてしまおうということから、今回の合宿が決まりました。 この開発合宿記録を書いていき…

iOSアプリ開発で実機のログに filter をかける

アプリ起動中のログであれば Xcode のコンソールから確認できますが、 アプリを起動したり終了させたときのログを確認したい場合には、Xcode のコンソールでは確認できないので実機のログを確認する必要があるかと思います。 このとき Xcode のツールバーの …

try! Swift 記録 2日目

try! Swift に参加してきました! www.tryswift.co ので、メモっていたことを書きます。 本当に雑なので、間違っているかもしれません。 2日目の分です。 1日目の分はこちら。 テスト可能なコードを書くということの2つの側面 なぜテスト バグを防げる テ…

try! Swift 記録 1日目

try! Swift に参加してきました! www.tryswift.co ので、メモっていたことを書きます。 本当に雑なので、間違っているかもしれません。 1日目の分です。2日目の分はこちら。 Swift開発者が知りたかったけど聞きにくい機械学習のすべて 機械学習ではデータ…

instantiateInitialViewController() が nil になる

同じことで何度もはまっている気がするのでメモ。 SampleViewController の Storyboard と Class を追加して、Storyboard から以下のようにインスタンスを作ろうとすると、nil になってしまう。 let storyboard = UIStoryboard(name: "SampleViewController"…