Как сделать свойства примитивного типа необязательными?

Я хочу сделать некоторые примитивные свойства в моих классах JSONModel. См. Код ниже.

#import "JSONModel.h"

@protocol GreenModel <NSObject>
@end

@interface MyModel : JSONModel

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

Может ли кто-нибудь предложить способ достичь этого?

Ответ 1

Вы можете сделать это, используя свойствоIsOptional:. Просто верните 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;
}

Ответ 2

Для быстрого

Пожалуйста, используйте следующий код в подклассе вашей модели 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
}