現在、Obj-C モデルを単純化しようとしていますが、json データにより、思ったよりも少し複雑になっているようです。配列データをブール値に変換できません。
私の知る限り、フレームワークのJSONKeyPathsByPropertyKeyを使用してキーが次のようなものであることを定義することは不可能です: @"gsRightIPServerStart", @"rights.name['RIGHT_IP_SERVERSTART'].granted" または少なくともシリアライズ辞書にアクセスする可能性使用されるクラス内。私のFNPServerクラス。
これは、使用する必要がある JSON 応答の一部です。
...,
isowner": false,
"rights":
[
{
"name": "RIGHT_IP_SERVERSTART",
"granted": true
},
{
"name": "RIGHT_IP_SERVERREMOVE",
"granted": true
},
{
"name": "RIGHT_IP_SWITCHCONFIGMODE",
"granted": true
},
{
"name": "RIGHT_IP_SERVERCREATE",
"granted": true
}
]}
これは、ブール値として簡単に表現できる単純な配列です。この場合、いくつかの NSNumbers (CoreData):
@interface FNPServer : MTLModel <MTLJSONSerializing>
...
@property (nonatomic, strong) NSNumber * gsRightIPServerStart;
@property (nonatomic, strong) NSNumber * gsRightIPServerStop;
@property (nonatomic, strong) NSNumber * gsRightIPServerRestart;
@property (nonatomic, strong) NSNumber * gsRightIPServerModify;
@end
自分で変換を処理するために、このオブジェクトの生成中または生成後にソース dict を取得する解決策が見つかりません。
私は、いくつかの異なるクラスを作成し、プロパティをチェックして、単純な「はい」または「いいえ」の質問のために本格的なオブジェクトでいっぱいの配列を生成したくありません。「外部からの助け」がなくても機能するはずです。それ以外の場合は、データが存在するかどうかを確認する必要があります。
ありがとう