A closure that provides the full path to the current encoding position, and returns a customized coding key. あるクロージャ、それは現在のエンコーディング位置への完全なパスを提供します、そしてあつらえられたコーディングキーを返します。
JSONEncoder.KeyEncodingStrategy.custom(_:)
Availability 有効性
- iOS 7.0+
- iPadOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 9.3+
Technology
- Foundation ファウンデーション
Declaration 宣言
Parameters パラメータ
custom
Discussion 議論
The value associated with this case is a closure you use to choose the names of keys in the encoded JSON object. During encoding, the closure executes once for each key in the Encodable
value. The closure receives an array of Coding
instances representing the sequence of keys needed to reach the value the encoder is currently encoding.
このケース節と結び付けられる値は、あなたがそのエンコードされたJSONオブジェクトの中のキーの名前を選ぶために使うあるクロージャです。エンコーディングの間、クロージャはEncodable
値の中の各キーに対して一度だけ遂行します。クロージャは、Coding
インスタンスそれらからなるある配列を受け取ります、それはエンコーダが現在エンコードしている値に到達するために必要とされるキーそれらからなるシーケンスを表しています。
The example below shows how to encode the properties of the nested A
, B
, and C
structures with custom logic that you specify in the closure value associated with the custom case.
下の例は、入れ子にされたA
、B
、そしてC
構造体のプロパティそれらを、customケース節と結び付けられたクロージャ値においてあなたが指定するあつらえの論理でエンコードする方法を示します。
In the next example, you use the Any
structure defined above to customize the encoding of the A
, B
, and C
structures.
次の例においてあなたは上で定義されるAny
構造体を使って、A
、B
、そしてC
構造体のエンコーディングをカスタマイズします。
Here’s the JSON object that results from the custom encoding above: ここにJSONオブジェクトがあります、それは上のあつらえのエンコーディングからの結果です: