コミット範囲を指定してコミットログを出力する例
|
1 |
$ git log 69bac23..87ded2d |
注意
コミット 69bac23 は、範囲に含まれ『ない』
|
1 |
$ git log 69bac23..87ded2d |
コミット 69bac23 は、範囲に含まれ『ない』
|
1 2 3 4 |
class SomeSingletonClass: NSObject { private init() { 省略 } static let sharedInstance = SomeSingletonClass() } |
|
1 |
var someSingletonInstance : SomeSingletonClass = SomeSingletonClass.sharedInstance |
structを使うのは古いコーディングスタイル。代わりにstatic let構文を使う。static func getSharedInstance() メソッドを使うのは、さらに古いコーディングスタイル。
Swift 3
|
1 2 3 |
CGFloat.leastNormalMagnitude // min, 2.2250738585072e-308 CGFloat.leastNonzeroMagnitude // min, 4.94065645841247e-324 CGFloat.greatestFiniteMagnitude // max, 1.79769313486232e+308 |
|
1 2 3 |
Float.leastNormalMagnitude Float.leastNonzeroMagnitude Float.greatestFiniteMagnitude |
|
1 2 3 |
Double.leastNormalMagnitude Double.leastNonzeroMagnitude Double.greatestFiniteMagnitude |
XcodeのユニットテストXCTestのビルドにおいて "Use of unresolved identifier xxxx " とエラーが表示される。
テスト対象のモジュールがイントートされていない。
@testable import xxxxx をテストコードに追記する
xxxTest.swift
|
1 2 3 4 5 6 |
import XCTest + @testable import MyTargetModule class xxxTest: XCTestCase { ... |
|
1 2 3 |
$ git checkout -b branch_xxx $ git push origin branch_xxx |
Android Studioでのビルドにおいて以下のエラーが発生する
|
1 2 3 4 |
Error:A problem occurred configuring root project 'xxxx'. > Could not find support-v4.jar (com.android.support:support-v4:24.0.0). Searched in the following locations: https://jcenter.bintray.com/com/android/support/support-v4/24.0.0/support-v4-24.0.0.jar |
|
1 |
$ vim <file> |
|
1 |
$ git add <file> |
|
1 |
$ git commit --amend |
Swiftの型(Type)に定義したアクセス修飾子(Access Control Level)は、その型のメンバー(プロパティやメソッド、イニシャライザーなど)に影響する。
例えば、private修飾したclassのメンバーの暗黙的(デフォルト)アクセス制限はprivateである。
|
1 2 3 4 5 6 |
public class SomePublicClass { public var somePublicProperty = 0 // 明示的publicクラスメンバー var someInternalProperty = 0 // 暗黙的internalクラスメンバー fileprivate func someFilePrivateMethod() {} // 明示的file-privateクラスメンバー private func somePrivateMethod() {} // 明示的privateクラスメンバー } |
public typeはデフォルトでinternalのメンバーを持つ。publicではない。メンバーのアクセス制御をpublicにするときは、いかなるケースでも明示的にpublic修飾を記述する必要がある。
|
1 2 3 4 5 |
class SomeInternalClass { var someInternalProperty = 0 // 暗黙的internalクラスメンバー fileprivate func someFilePrivateMethod() {} // 明示的file-privateクラスメンバー private func somePrivateMethod() {} // 明示的privateクラスメンバー } |
型(クラス)のデフォルトアクセスコントロールはinternal。したがって、その型(クラス)のメンバーのデフォルトアクセス制御もinternalとなる。
|
1 2 3 4 |
fileprivate class SomeFilePrivateClass { func someFilePrivateMethod() {} // 暗黙的file-privateクラスメンバー private func somePrivateMethod() {} // 明示的privateクラスメンバー } |
明示的にクラスにfileprivateを指定しているため、そのクラスのメンバーのアクセス制御もデフォルトではfile-privateとなる。もちろん明示的にprivateを指定したメンバーはprivateになる。
|
1 2 3 |
private class SomePrivateClass { func somePrivateMethod() {} // 暗黙的privateクラスメンバー } |