Как сделать свойства примитивного типа необязательными?
Я хочу сделать некоторые примитивные свойства в моих классах 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
}