selectedBackgroundViewを使ってUICollectionViewCellの選択時の色を変える

UICollectionViewCellの場合はselectedBackgroundViewはcontentViewの背後にあるので、contentView.backgroundColorを指定した状態でselectedBackgroundViewを設定しても変化が見えない。 class AnyCell: UICollectionViewCell { override func awakeFromNib…

UICollectionViewでセル数が少ないときにスクロールできない

全コンテンツ(セル)が画面に収まる程度の場合、UICollectionViewはスクロールができなくなる。 スクロール方向が縦の場合はalwaysBounceVertical、横の場合はalwaysBounceHorizontalをtrueにすることでスクロールできるようになる。 collectionView.always…

ModalのWebViewでFileReaderを使うとViewControllerごとdismissされる

iOS

FileReaderとは developer.mozilla.org Webページ内でハードウェアのファイルにアクセスするやつ。 iOSの場合これ。 ViewControllerごとdismissされる これをModalで開いたViewController内WebViewで使うと、アクション選択時やキャンセル時にViewController…

コマンドラインでMacのスペックを調べる

$ system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro11,5 Processor Name: Intel Core i7 Processor Speed: 2.5 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (pe…

gitのcommitのauthorを変更する

git

kitoko552.hatenablog.com gitでリポジトリごとにユーザー(author)を変える方法については上記の記事で書きましたが、すでにcommitしてしまっていて後からauthorを変更したい場合は以下のコマンドを実行します。 git commit --amend --author="ユーザー名 …

Swift 3におけるアクセス修飾子

要点 open: 外部モジュールからアクセスでき、外部モジュールで継承・オーバーライドができる(Swift 3未満のpublicと同義)。 public: 外部モジュールからアクセスできるが、外部モジュールで継承・オーバーライド等はできない。 internal: 同じモジュール…

gitでリポジトリごとにユーザーを変える

会社のアカウントと個人のアカウントなどでgitアカウントを2つ以上持っている方は、リポジトリごとでどのアカウントとして操作するかを意識しないといけません。 リポジトリごとにユーザーを設定・変更するには以下のコマンドを実行します。 $ git config us…

Swift 3のstructがプロパティに合わせて自動で作るイニシャライザはinternalになる

要点 Swift 3では、structがプロパティに合わせて自動で作るイニシャライザは、プロパティのアクセスレベルにかかわらずinternalになる。 ライブラリを公開している方は注意。 外部からも使えるようにするにはpublicなイニシャライザを改めて定義してやる。 …

AlamofireのSwift 3対応バージョンをiOS 8対応のプロジェクトでも使えるようにする

要点 AlamofireのSwift 3対応バージョンである4.0.0は対応OSがiOS 9以上 iOS 8でも使いたい場合は、フォークしてURLSessionStreamTaskを使っている部分をコメントアウトすると使える Swift 3登場 先日正式版のiOS 10, Xcode 8がリリースされ、既存のアプリを…

lazyを使って他のプロパティを使うプロパティの初期化を宣言時に実現する

要点 lazy を使えば他のプロパティを必要とするプロパティの初期化を宣言時にすることができる。 その場合は型宣言を書かなければエラーが出るので注意する。 他のプロパティにはselfを書かないとエラーが出る。 private lazy var hakuba: Hakuba = Hakuba(t…

【Swift】文字列の頭文字を取り除く

String(text.characters.dropFirst()) こんな時に使う let user = "@tanaka" let name = String(text.characters.dropFirst()) print(name) // tanaka

crontabでメールを送らないようにする

crontab -eでコマンドの出力先を> /dev/null 2>&1に設定する。 $ crontab -e * * * * * command > /dev/null 2>&1

Dictionaryの配列をひとつのDictionaryにする

要点 Dictionaryの配列をflatMapすると reduceを使う reduceについて 要点 Dictionaryの配列をひとつのDictionaryにするにはreduceを使う。 let array = [["one" : 1], ["two" : 2], ["three" : 3]] let dictionary = array.flatMap { $0 }.reduce([String :…

ディスク使用量をターミナルのコマンドで調べる

要点 結論 オプション ディレクトリごとの容量を知りたい場合は 要点 dfコマンドを使う。 $ df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on /dev/disk1 234585888 194945176 39128712 84% 24432145 4891089 83% / devfs 3…

ディレクトリごとの容量をターミナルのコマンドで調べる

要点 結論 オプションについて 要点 du -d 1 -hを使います。 $ du -d 1 -h 403M ./.android 21M ./.atom 2.6M ./.cache 254M ./.cocoapods 136K ./.config 4.0K ./.cups 56M ./.dropbox 7.6M ./.eclipse 17M ./.gem 470M ./.Genymobile 16K ./.IdeaIC14 88K …