SwiftのSingletonパターン

宣言コード

参照コード

  • イニシャライザをprivate修飾してクラスの外部から参照できないようにする。
  • structを使うのは古いコーディングスタイル。代わりにstatic let構文を使う。
  • static func getSharedInstance() メソッドを使うのは、さらに古いコーディングスタイル。

Swiftの値型 最小値, 最大値

Swift 3

Use of unresolved identifier

症状

XcodeのユニットテストXCTestのビルドにおいて "Use of unresolved identifier xxxx " とエラーが表示される。

 

原因

テスト対象のモジュールがイントートされていない。

 

対応

@testable import xxxxx をテストコードに追記する

xxxTest.swift

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) において戻り値が未使用のときに警告が発生する

 

解決方法

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