memo」カテゴリーアーカイブ

備忘録

Could not find support-v4.jar

症状

Android Studioでのビルドにおいて以下のエラーが発生する

続きを読む

[git] コミットの書き換え

A. 直前(1世代前)のコミットを書き換える

1. 編集する(修正する)

2. 修正をステージングする

3. コミットする(修正した内容でコミットをやり直す)

続きを読む

Custom Types

Swiftの型(Type)に定義したアクセス修飾子(Access Control Level)は、その型のメンバー(プロパティやメソッド、イニシャライザーなど)に影響する。
例えば、private修飾したclassのメンバーの暗黙的(デフォルト)アクセス制限はprivateである。

 

明示的publicクラス

注意

public typeはデフォルトでinternalのメンバーを持つ。publicではない。メンバーのアクセス制御をpublicにするときは、いかなるケースでも明示的にpublic修飾を記述する必要がある。

 

暗黙的internalクラス

型(クラス)のデフォルトアクセスコントロールはinternal。したがって、その型(クラス)のメンバーのデフォルトアクセス制御もinternalとなる。

 

明示的fileprivateクラス

明示的にクラスにfileprivateを指定しているため、そのクラスのメンバーのアクセス制御もデフォルトではfile-privateとなる。もちろん明示的にprivateを指定したメンバーはprivateになる。

 

明示的privateクラス


参照

Custom Types – The Swift Programming Language (Apple)

Result of call to ‘xxx’ is unused

Swift 3.0 (Xcode 8.1.2) において戻り値が未使用のときに警告が発生する

 

解決方法

使用しない(無視する)関数の戻り値はワイルドカード(_)に明示的に代入する。

homebrewがバージョンアップできない

症状

Sierra (macOS 10.12) でhomebrewがバージョンアップできない。

続きを読む

Trailing Closures

引数の最後においたクロージャ式は特別な記法で記述できる。接尾クロージャ、後置クロージャ。

省略を一切しない一般的な記述方法

 

Closureの引数リストと戻り値を省略した記述方法

 

someFunctionThatTakesAClosureの引数をTrailing Closureに置き換えた記述方法

 

さらに空の括弧を省略した記述方法

続きを読む