id
type to a specific Swift type.
Objective-C id
のインスタンスをSwift型にキャストします。
Some Objective-C APIs—like target-action—accept method or property names as parameters, then use those names to dynamically call or access the methods or properties. In Swift, you use the #selector
and #key
expressions to represent those method or property names as selectors or key paths, respectively.
いくつかのObjective-C API — ターゲットアクションのような — は、メソッドまたはプロパティ名を引数として受け入れます、そのときそれらの名前を使って動的にメソッドまたはプロパティに呼び出しまたはアクセスをします。Swiftでは、あなたは#selector
と#key
式を使って、それらメソッドまたはプロパティ名をセレクタまたはキーパスとして表します。
In Objective-C, a selector is a type that refers to the name of an Objective-C method. In Swift, Objective-C selectors are represented by the Selector
structure, and you create them using the #selector
expression.
Ojbective-Cでは、セレクタはObjective-Cメソッドの名前を参照するある型です。Swiftでは、Objective-CセレクタはSelector
構造体によって表されます、そしてあなたはそれらを#selector
式を使って作成します。
In Swift, you create a selector for an Objective-C method by placing the name of the method within the #selector
expression: #selector(My
. To construct a selector for a property’s Objective-C getter or setter method, prefix the property name using the getter:
or setter:
label, like #selector(getter: My
. The example below shows a selector being used as part of the target-action pattern to call a method in response to the touch
event.
Swiftでは、あなたはセレクタをObjective-Cメソッドに対して、そのメソッドの名前を#selector
式の内部に置くことによって作成します:#selector(My
。セレクタをあるプロパティの持つObjective-Cゲッターまたはセッターメソッドに対して組み立てるには、プロパティ名にgetter:
またはsetter:
ラベルを使って接頭辞を付けてください、#selector(getter: My
のように。下の例は、ターゲットアクションパターンの一部として使われるセレクタを示して、あるメソッドをtouch
メソッドに答えて呼び出します。
If you need to disambiguate between overloaded functions, use parenthesized expressions along with the as
operator to make the #selector
expression refer unambiguously to a specific overload.
あなたがオーバーロードされた関数の間の違いを明らかにする必要があるならば、括弧に囲まれた式をas
演算子と一緒に使って、#selector
式を明白に特定のオーバーロードを参照するようにしてください。
In Objective-C, a key is a string that identifies a specific property of an object. A key path is a string of dot-separated keys that specifies a sequence of object properties to traverse. Keys and key paths are frequently used for key-value coding (KVC), a mechanism for indirectly accessing an object’s attributes and relationships using string identifiers. Objective-Cでは、キーはオブジェクトの特定のプロパティを識別する文字列です。キーパスは、辿っていく一連のオブジェクトプロパティを指定する、ドット区切りのキーの文字列です。キーとキーパスは、文字列識別子を使ってオブジェクトの属性および関連付け(リレーションシップ)に間接的にアクセスするための仕組み、キー値コーディング(KVC)のためにしばしば使われます。
Important 重要
Objective-C key paths are distinct from, but related to, key-path expressions in Swift. For information about key-path expressions, see Key-Path Expression in The Swift Programming Language (Swift 4.1). Objective-Cキーパスは、Swiftでのキーパス式とは違います、しかしそれと関連します。キーパス式についての情報として、キーパス式をSwiftプログラミング言語 (Swift 4.1)で見てください。
You use the #key
string expression to create compiler-checked keys and key paths that can be used by KVC methods like value(for
and value(for
. The #key
string expression accepts chained method or property references. It also supports chaining through optional values within a chain, such as #key
. Key paths created using the #key
string expression don’t pass type information about the properties or methods they reference to the APIs that accept key paths.
あなたは、#key
文字列式を使って、コンパイラチェック済みのキーおよびキーパスを作成します、それはKVCメソッドvalue(for
やvalue(for
によって使われます。#key
文字列式は、数珠つなぎにされたメソッドまたはプロパティ参照を受け入れます。それはまた、連鎖内でオプショナル値を通した連鎖をサポートします、例えば#key
など。#key
文字列式を使って作成されるキーパスは、それらが参照するプロパティまたはメソッドについての型情報を、キーパスを受け入れるAPIに渡しません。
The example below defines a Person
class, creates two instances of it, and uses several #key
string expressions to access properties and properties of those properties:
下の例は、Person
クラスを定義して、それの2つのインスタンスを作成して、そしていくつかの#key
文字列式を使っていくつかのプロパティおよびそれらプロパティのプロパティにアクセスします:
id
type to a specific Swift type.
Objective-C id
のインスタンスをSwift型にキャストします。