12

JSONModel クラスでいくつかのプリミティブ プロパティ オプションを作成したいと考えています。以下のコードを参照してください。

#import "JSONModel.h"

@protocol GreenModel <NSObject>
@end

@interface MyModel : JSONModel

@property (nonatomic, assign) NSInteger<Optional> objId;
@property (nonatomic, strong) NSString *name;
@end

誰でもこれを達成する方法を提案できますか?

4

2 に答える 2

35

これは、propertyIsOptional: を使用して行うことができます。Optional にしたいプロパティの名前に対して YES を返すだけです。

https://github.com/icanzilb/JSONModel#make-all-model-properties-optional-avoid-if-possible

+(BOOL)propertyIsOptional:(NSString*)propertyName
{
  if ([propertyName isEqualToString: @"objId"]) return YES;
  return NO;
}
于 2014-02-14T11:46:29.267 に答える
1

スイフト用

JSON モデルのサブクラスで次のコードを使用してください。すべてのプロパティをオプションとして指定する場合、コードは次のようになります。

override class func propertyIsOptional(propertyName: String!) -> Bool    {
   return true
}    

特定のプロパティが必要な場合、コードは次のようになります。

override class func propertyIsOptional(propertyName: String!) -> Bool     {
if propertyName == "your_property_name"
{
    return true
}
    return false
}
于 2016-01-27T10:50:23.653 に答える