swiftのコードにおいてdefineマクロを有効にする
|
1 2 3 |
#ifdef DEBUG ... #endif |
Build Settings -> Other Swift Flags
Xcode 8.3.2
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クラスメンバー } |
|
1 |
Result of call to 'xxx' is unused |
使用しない(無視する)関数の戻り値はワイルドカード(_)に明示的に代入する。
|
1 |
_ = fooFunc(3) |
iOS 8以降に搭載されたQuickType(予測変換)
続きを読む